{"_id":"formio-sfds","_rev":"882-526b21601f2c98dce3890242b7bd61a2","name":"formio-sfds","dist-tags":{"canary":"0.0.0-931671","latest":"10.0.1","next":"10.0.0-rc.5727a94"},"versions":{"0.0.0-eedfab0":{"name":"formio-sfds","version":"0.0.0-eedfab0","description":"form.io templates for the SF Design System","source":"src/browser.js","browser":"dist/formio-sfds.js","scripts":{"lint":"standard src","start":"parcel examples/test.html --open","build":"parcel build src/browser.js","test":"echo 'WARNING: no tests specified'"},"browserslist":["> 1%","ie 11"],"targets":{"browser":{"includeNodeModules":true}},"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","devDependencies":{"parcel":"^2.0.0-alpha.3.2","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3"},"dependencies":{"formiojs":"^4.9.0-rc.10"},"gitHead":"3b048f49a23b870404318e970d61a51f8d0839a2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-eedfab0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-tEWxg43BvNDlebaJ27oP50XpHeA7j0LIkwDYaxFAA2FTZw6ldkhuMkjdZgSwztouc51lEnvewa1YoaV17PyMjw==","shasum":"c0a43b92362c8ade0e7c2f7431ad4b92c09ee4f9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-eedfab0.tgz","fileCount":16,"unpackedSize":2186043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecWOeCRA9TVsSAnZWagAAGaoP/1iugB3/PxuLKNOu5m4U\nZUe0XMVxpj6wxwbSO3ysleAb/LUW4tKyinRufw/6W4nDMLnw5CiT4QNo3kv0\nDfOhzw7fViXN2sWC5DE4WlJYaQVnCCJ1PZTbnysZCugZXkKMP3tvpPJI01c/\n7YrIcAVKYY3rRzngMpc+SvrxaDBusvgnkjC2p8f+HQ+0TxvG3EEt2UCJ2IT7\nf3hNdjA9DE3MxUBWnU79rJ0W4gMBs40hUmdxokamZwNhE2SBWKfDe0MLD60R\neu0aNCMnjK17NpKaUV55e5uj1IguSI7TvRc1RTEf8D/+OaohQ0Dhwfy6kFVl\n1G01OcMau+UN8s2+0vjbPU4eOK2ppdJHPO5vMAAevGrLoLdwiFD6298qaAYS\nR8H0ewq/B1VBcdcSMdJVFdXKOwVl4fIBxI7HjxM7gXfR1qCa9E8u73s3ElNd\nRRJw6otxJqemvW3baem/qaDE604UKdWKnxg4yFC5ZxYat9axbDAz1G9CxxWf\nLEGrkm7AmdjBTh5GWYiYjP/r8+s6xkSyjdQ1gRU2gWSUgb7cFp4w8tYVNRue\nwWrioNoiGRYF1BkM+O4rw+4nw+X5r4o8k74322IO3ioSdH58oh8zOkMPxsvc\nleCn4tkneTouao8IzjPT4feIXTOfeETnC72zSqDLfD/YjQ1yFadeM5FTfIIQ\nfZ7N\r\n=5sKP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCg0p3sPXCVfz4nNPCFCNDqPNW+LGnjUD5ji49hdhMgyAIgOKC/01ncsSQL6BBu3BihxyukYuNkz5aHlAyoy6ZMvqc="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-eedfab0_1584489373610_0.49862529168080094"},"_hasShrinkwrap":false},"1.0.0":{"name":"formio-sfds","version":"1.0.0","description":"form.io templates for the SF Design System","source":"src/browser.js","browser":"dist/formio-sfds.js","scripts":{"lint":"standard src","start":"parcel examples/test.html --open","build":"parcel build src/browser.js","test":"echo 'WARNING: no tests specified'"},"browserslist":["> 1%","ie 11"],"targets":{"browser":{"includeNodeModules":true}},"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","devDependencies":{"parcel":"^2.0.0-alpha.3.2","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3"},"dependencies":{"formiojs":"^4.9.0-rc.10"},"gitHead":"89a4a560ef1adeeccecbe22395f43b6bc78ee472","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.0.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-ItGH7jOx+FqKj6ay7VIKaIkZmszb5YR7tv/mw/Hm7Y5DsoUp8iGg6PcRlT8WUNzcrZwj9CE31iwJf4V2aNsgbw==","shasum":"d217082e195988c3144094fa7053afcecc9a35a5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.0.0.tgz","fileCount":16,"unpackedSize":2186035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecZwuCRA9TVsSAnZWagAAx5sQAINtlrhUViJcVctP8+eU\nZhBIoiPzLIdOxlJqfZFaKcInOKrIXXCVJk+gGmuRhKxJhLhc/jxMEmdvWjVD\n/XSDM8vGlxdWMjbFU4HjXV04PrN0//w1YOI7vjl4v55mNGrHHzNT5CVBOZMH\nBbw8jCCX9PAXx2tjWCAhNzQhLGpWslNi+FUXfUs22l82sWiuATcgVHxWKSme\nHRBFEJfFTB2nfXowDga4xmolk+faZ5oFEPX2CQ98E5/3CIA/vN+BIL/wW62T\nltnJ2KBJ2seXh7eMpOsfcXp9EAalMOmJ88tA0JdNsiC7bQF3HyKB8KkppsPi\n54ROknWi1oicY6yRVVxzK6fP4qFQqTOPAA9GAFTLxMDl7+a25W6aLEukWDuA\nsKij/8pP+yRlw+wv07QtfdWmKI6ZOu2wRxD2SN+xgaA+wexO2YokeI3llbX3\nvkQhoGRJyoLnG9r8ZuVRQGnlyGNoYaZgSHBUoE0yV8dio47JS3c7SR10LHzz\nu2zMxoskOU74WmtAD2fO88xgtsfOo9TCxaUIC6Yl/sPyA7WFA2Flpp58uqoW\n/BgdO980a9sneAnn6I/xm+3jp3jfcptKkc5RTQGelAaPJ8v6/cjMo0O/MsP2\nA8FkW0VI95QG1mJ2z0ndb+qiaPXQwyoe/9XVdAYCDTkLikcTWiaTG/WhihRP\nu594\r\n=KN67\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLAWHNWPcqAagl7QPFXqm7326hdblBmkxf39u1PysIJwIgPG9OwPIBMyo7ryVYjdurEaAeYQpgSF2T7Rmlo8niOeM="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.0.0_1584503853978_0.06496891616249623"},"_hasShrinkwrap":false},"0.0.0-e01c3b2":{"name":"formio-sfds","version":"0.0.0-e01c3b2","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"npm-run-all -p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"npm-run-all -p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"npm-run-all -p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"dependencies":{"formiojs":"^4.9.0-rc.10"},"readme":"# formio-sfds\nform.io templates for the SF Design System\n","readmeFilename":"README.md","gitHead":"2ad64d893c9d364f80a4ad2ea0038abbe09e416b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e01c3b2","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-XYTsItqMCGmsRo2CR+mGO4XXF8VTctW4XdxT6lPpNMiF4spn3t1sCqFVEyg0WKoY9/uHr9OXE/M3hYAW8zYzwQ==","shasum":"b5c2f0d0e7b1811f04a16594393c61deea997d99","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e01c3b2.tgz","fileCount":18,"unpackedSize":12384,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecmGsCRA9TVsSAnZWagAAK+8QAKLwgIBpneSFJaCa3E0h\nuALjHY4e49Yhr3In17S89a4AUFN5BgdVqAUDwEq2mgoo49MFa9+p0gbIARVo\nMVeX+gbFlCRxgTgWF0BvsPVH0Ns/A9czFOfhJHvhTkJ2I46UWMMsm+nCiPyj\nrvdRoo+NAQMJgEDi7G2n5b4xkaR55ldAI68jXsABazXXXIxSKEX7UqI5X8Yc\n8GhQq1zVCUCNCfWDVRGtuvX2RWaQikw/T/oyZOf/XmRVVEDFnLFBcmUIO+40\nv9SVlY0OftjZGt944BwbsSuRcTmGkSpfw/3W/tOfv+aCoJpUjydgX7naf/u5\nafryDYi/V1h0zGnB2PRsanApvd/0jp+6yLy3655KLAKnJ3i/8D7h3i6oYJ6U\nG63qXflaIJUMvXgCCsViaOka+0hHax6e30+1Qv/Q2f1sr+JyeuL3W7Bv3+Y/\nMUiieBRKFxjnpWSytlMI7+lmnSxqpXa4+Sm5NN+s3RaXxgLmDGo5sIJ2rihu\nErH/jWIGlIDTS9k3P2Gvs5B5w1Ih/WxuI/RSTnnmkhvZP+Hph5YOu5R0Zo8z\nKWlmVq+7GZ4sBEBhnIT9AjS3auP/SB148dsNy91eFAIPrMcfG8QfIVeflYQe\nnEB60KKR4POkXduMtaV3viSQGs8vu790506+6CB15qpJoSzf6T9IItmLdYxN\nQjJI\r\n=r5Xx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFyF5Yebv5DuE6zPd5EPlue0ZdxTW0rpRY8t6maRiV7AAiBYP7alpXmEAOYahzAmRupaMR36r3DhZp+7vAsvl6/RdQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e01c3b2_1584554411588_0.8469099540366436"},"_hasShrinkwrap":false},"0.0.0-6611b79":{"name":"formio-sfds","version":"0.0.0-6611b79","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"dependencies":{"formiojs":"^4.9.0-rc.10"},"readme":"# formio-sfds\nform.io templates for the SF Design System\n","readmeFilename":"README.md","gitHead":"f09c45b66daa87618f52804c698afc0976b2370e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-6611b79","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-4lS52DsSyv8M0E2GubNvrC38r9rSb2O0JMeIlBg95doUyrfWCSiBklWreQJJc6m0T80XKtTx92KJcu1jhS+Ekw==","shasum":"b72b3946fc189f040a50222fa7d48e3467a4241a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-6611b79.tgz","fileCount":18,"unpackedSize":12357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecmVMCRA9TVsSAnZWagAAwqMP/0zBwLT1l6efkqpvHAiZ\nfZjUdYr3AEzRkKHGGtK/sk5kOgtvuh09uHKLPl5Q9XwyFM5AQRQLEfnLJBCu\n0AOLPsQRGQvuKYpfAWuGsANQoqOgA5dM/pU7S64BNdmVOaM98i/FB3/yH5+s\nYPMwMxOL8MzzJDiZXTsZSiJiOSWEdTYoe3Tvm1lkeJMOk/TrK9WMsz31J0dJ\nWo8QdnML/jnSkY08BYGDChJ2OEmoZT9omXcklckqcCtlfWA2k6bpJPlClfBv\nZ+lGFIS9wjl0pptEGcDqd/B/THnAM2S0j2grBQGajZWEakk7k4UMakNelwLs\nyOsQ8ul1f+4IWQ4R6VmCi9P7v23iKoSD6W9XDyOlfhaof0h7vTeACZ88PptM\n195YM2rL+YKnxTgAwDkfha1gg49Ntz6NUD9r4zwvVYAhgmi07YXJGa/wW5LM\n5Uo+arU0t8vQNV257nMk7Twi4RC7fuKwGjK/7ucI2f28Vvn+u9AOzfztWH3V\nKAA8xi0jLKvU6rcNadOSiuL2agzeFcJz3rIHIDkd0oRzNQr3c6FABxzDPUXw\n1zpKvWZyglPiaUPa6HeqE25V7zgIo87VGL4WL/YwbnzapVhgmTwCKc6jcjFu\n1CGIH7qFTzN20ZIHgGmcMvwNXNIU0f9k1KC3EMsjHtAm3cjvBtFCA4kKC2bk\nS4S2\r\n=Cvdd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCd3wnmcg9ojF6kOCmfSET2TMuZKRJj1KvCQibUGhN2aQIhAIviOVB/TL6inmcawVofvNc99gVeYyreuws/MLcPCSCv"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-6611b79_1584555340129_0.2830460274756976"},"_hasShrinkwrap":false},"0.0.0-3ab5691":{"name":"formio-sfds","version":"0.0.0-3ab5691","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"dependencies":{"formiojs":"^4.9.0-rc.10"},"readme":"# formio-sfds\nform.io templates for the SF Design System\n","readmeFilename":"README.md","gitHead":"7d28626e90ef255c815439ac42f992f4082d8ae5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3ab5691","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-1E67kj1Td+npQVPJVjY0qlSsM3v0888JdWcJcj7cyI2U1J3SsiE9b8mhtYr5zOIHfA6wsELu5PPB8Yika8iwAA==","shasum":"409b416fbb93d5cdef117abfd0d3eccd9cacf233","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3ab5691.tgz","fileCount":18,"unpackedSize":12357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecmVtCRA9TVsSAnZWagAAWwEQAIG421xNAsrjZkbmehhy\ne+Pd6hNyU3rlEqgN0/0i8oC/iQz7Mymt6In92fwvmJY8IdyaKd31V44QJ0q1\n4QcCZDOpjHsJ/h9oNkoi/q43DuyeItdnZUdEysq8TLf7k1AxqJaVwCQ3vgIU\nM/nYsmwqiFr9YDc73pstCmR1HqaMAJ6p6K8kuKqnhQswa9srKLr8RYtjin8u\nspGTXeXKOmfPnCsC0vknPzy2eGH6Aq3EGE4BaodX2kSn5uHrME/CmTPKTR38\nyb7H9uLoVPmzvSFvtHVG0fbSAkFaT9RjJLCYdbZkCDGZevam2n2EHsS8FKFP\n0zblHrKU+kVTkDJuMx69MUmM2wQ5uV3D9AvZ+0rXWMRUxs0RaFUZa2uVkg/H\n+shppEToZursVEPtQ03ioXFCijJlAzOFeVKyXscGWnmRAk6TdTFpL5PYPHln\n8OUELWBoVwhQv2ULrD0ZMWryT7a/vASI9yvtVkYjkFXOeZYcLYmfv1GJDtrB\nzuxlQ/FICIbqDeFiTipICRPoWg9UriVDIxEoH1JJZkmDLpUBaCmm2UkdFWdr\nB+PN+T3FUxsYU2pcayTH2cX0oLBq7gNhb+HM5p20f1T/24sqHLVy1besT0+L\nybg/G2Wqk1kCNikHiDhRJ6dAewkBSb3DsUNlVdirUjVvah3jQZ+Clj971vjq\nu4fL\r\n=3/XY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEUZQeWHmL4pKqs9OYVHZXMGhXJ46FI+WuIJMpaV0oItAiEAxTkoYY1wcr9yRF0EvdNUMA15vbp4zHe+2Lp9b7XIhpw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3ab5691_1584555373295_0.07283327443130982"},"_hasShrinkwrap":false},"0.0.0-faf2a91":{"name":"formio-sfds","version":"0.0.0-faf2a91","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"dependencies":{"formiojs":"^4.9.0-rc.10"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"86d9c1123d270318ab027f9cf9dae084043b8974","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-faf2a91","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-sTmUewDKZdXyIMeOmvoG5pdpUFzmMqc7yVhIsvdBahnYCAf0AqYZkbvWNIRRnucglyVxKr6/GM/TYNHoLFJN1g==","shasum":"3e221252457846ad7d0a9eff65409f4ca21c6f1b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-faf2a91.tgz","fileCount":18,"unpackedSize":13431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecu1fCRA9TVsSAnZWagAA6QEP/3mcLIG9Ltb0mp0ekBFe\nXnHXyIKt/VpvQrZEoI6KOOinmB9AmK2VgbFMZCyG/ZXbkSzP5Y62m0zs+Uzy\nEN5+3BLgmSNEuS4lVrMCOA0YUKymeZ1HgCFcp0h305+21KI7r5tbbuIKF3b4\ntQmE8cfSq1BXA6sVUJjSJ9gQumV/zVVRTD1iVD5HjETkIh5t8fo0h61T2mRO\nR1kUnjb/xeXXN4JyKFwqOOm1S+YwYTbSe5fvWAVzwfbh/POeN8ckt45wSscT\n4qR4P3WfHkN0Qtpbww1k3rtGGYdEr8Fc6aHXrFOHzZQcCyhYmjKtNsJxoAiF\nwUbFVJEhPS6L73uWV8YX1kHQw3VCC4hPLusEua17PKOnxcPmqQvj03Yst4zQ\nrkr6AZnWifg8UOd0h4EGQZLetRWJ4ZKSmFw3vUuMdMkGLTP6P3kGFtwBdkoe\nqgsEzEsf25BcL6YwUsFsh4g+KW3Za9C4wWNKM3xbld30YFE7mx+JGy/N4RDd\nnDkiMGIpMmblWOQ1BkPboma9thSQvj0K9MQu2Zf8g6pVRBbChjMkZzSXSDYr\n8zGWn/srErnI2zSUSPhljTdgBJ9MCpAafJFa7vd0L0PSTAxFyDxas5ofVQ5m\n+908CzVwbqU8nkOJ7JLj6PzrYZ3sDkczSR4tKQ3D+8JUIEF+gxX77eogW2x6\n5dtw\r\n=B0Uz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDP3RJE8N+KcxCR81GHMXiojk97M1oA7qkdnioenOC/xAIgKoi2TdpG9VV2HJiOf0jKFRsD0DhfiW7+9fqa1vXmhHI="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-faf2a91_1584590174875_0.03384660277048801"},"_hasShrinkwrap":false},"1.0.1":{"name":"formio-sfds","version":"1.0.1","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"dependencies":{"formiojs":"^4.9.0-rc.10"},"gitHead":"b99bc1c8b5a7e9ab500f0c930f6c2ad601aee857","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.0.1","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-IeGlmCE+QdeM/FNyoE3mcgcfLWcezROsV9qD0vetCMPRzJdKOWTy8O72sk/nWwIiyFivUGlDhTTD1fFItzYgCQ==","shasum":"1d9329ffc4ee1e611fabb38e20b8a31a2db62197","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.0.1.tgz","fileCount":18,"unpackedSize":13423,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJec9uhCRA9TVsSAnZWagAAPDcP/Ax1c1MrM0ocMp0hlvg+\nKEbv32E754J078xZnBegicpildDiDuclVAcdDMYCS4aFmkxqbjg1sCs2GXA1\nFdjRsdkjuhoC9q+lJH4FNRDqY2rl8dwFBxc3JM2G9HeyR2BhWhZV4ZSmZv7y\n3KgUg8g39QvAewUFjETKxA2cm+KmT1XOMTpWvXN+eowPPaMSUR7YDOiOXKbS\n/d0mSVzxEGPD0H+MrXUxJaDqC+AJpa4SFwZV2guKuS91aFv+3c1cGzL7uytJ\n2BGYbpB/hedXpuFlof0bEZ7xe1SgVAhl5HLANnqqJx/lVk6/qpWAjU7YkkUf\npp5IlLGfXsQDvG+kUeRaKkKR1Kdxtr5I0H2Ut/SvYvIVqN+OH6Xbl6SBLdA7\nHdmyM6OqFKZ0ImuFyt/FW3dQs0L7jY0nlaW+B/KzwUOuZ92Ygj6t+lOqhukP\nxo74DLqm2ZJFtN949I+RiMthRhhJHFuoCPcCyt4RoiTeFK9xcL2CO6LWK4l8\nu6lS7uxi5Rg+Q2ZPxhSdhmbb+Nv5Fx6uJiRVK0AwuMbvzJtzPb9jfIAlCMZc\nL6UopwgUCgefjetjfy1E5ZCNqYCXaYLlziZjC3A5m9cGI9mFFwvWNMk8p9rU\n04UIrMpuaTnbbcrdJLNpQcdg6d1qiJ/AU96DlW0zTmA+aw7lQKNj4/H9wDbP\nS51K\r\n=QmsZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGXTTGSQXRKP+j2LZI5BXlLNaz4NVWlZiHwfO+xLHkJdAiBRrkx6b7kgOsnCxFp+EfWDhDiZtECSOpmrUzrbKHRZ8w=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.0.1_1584651168674_0.2658091249115071"},"_hasShrinkwrap":false},"0.0.0-5bdf68f":{"name":"formio-sfds","version":"0.0.0-5bdf68f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"108209479a11827ce76983f882d5ebc351bb10fe","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5bdf68f","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-ySU7RuBuai6xdwSZy17Z4iC74dVtoohRjj45cqsfN7WaDu2GdvUTIZviERLtHkBpjbMDVHcC/GuUEA0s3gYG6g==","shasum":"af985cfaf0efc814a5f456dbf50f9f3f22e2b4c8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5bdf68f.tgz","fileCount":144,"unpackedSize":203926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedQXbCRA9TVsSAnZWagAAp7gP/iGUdN13hhxzKNnfLCBV\nrgUsQDeaC9zsXTXNLoBXwjb7juPAp4mt0PD5NiXBjCFf0IZhK/s/iBd53Fue\nboUkjCybJF2GuRk71706gLdFNP7ChzM35r8tc7gs69HT8PKeiFHwnQRoOoSu\n2SDF+4q/O8t4zTtWUv/cVYBeXlyiAr/wPpPJCf28kKDr7gUdbqUVOdxkE0VW\nSVNnqoFiTbAqRXo9T+SVZjVQutJo5jgEAo/8fIh6Es3XMGVLNatdmQjWYbO+\nBHroJovdjJ831D0CUtChUS3apkn9TjLk9ToWj3qtMamTDEzUr9lbG7/+WtSl\nwoXZ/dZAf/G1QKDNaEBcOUbVF28W7Y1NVpKjDIoV9cu7vmLJv+hGRZjaBL66\n37NR64P7gYme9cTrvl0mx4bMcYCkC6zHQNwNgU8x0capEk/wUFynfYN9KjvG\ngeFbKXVU3HflexlFJBmudIEwJUv7cF2a1qoDaElsy4kHX/tJHvIk3Q/E0oBG\nv3iA7Q24gQwsLvUIVJmzF3whtI+gH+IfRXxNkNWkjRgmW5sIWtBhXBr9ADty\nDdYcTGmy+HJMWl4PpKDDEGfhleyU/c+Z/siqa1tlCMHjBK5vDtgAYwZiH9IQ\nMaZi4Gtt1HwfU3R6mQvT+fnnk2uomeYe0OahZ79jqcs1a4M5GeK0cRTEGocW\nQmWQ\r\n=3MLv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCIBsHMd66rYy9SoJFT2iPs+iUMgNqd5CuDtf5/vOEZnGiAh9zTRU/7Ssi8NJmY1yjKGziHQB8DwaeyVPMaCTwlhqy"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5bdf68f_1584727514948_0.6231851336820868"},"_hasShrinkwrap":false},"0.0.0-5b15122":{"name":"formio-sfds","version":"0.0.0-5b15122","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"5b1512234cbe0e78bcaef8379e8c5308959763c5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5b15122","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Are5GhlZNG23wFCYI7BeBgkP/aKI1rRD+QApduJ6xFS0iCpjQ0KptSiTNYUIo8aY1gn4YRy8ZsDszklbGfX82w==","shasum":"f77a070a400a5deddf19875fdd39dd228efdf996","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5b15122.tgz","fileCount":144,"unpackedSize":203926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedQzdCRA9TVsSAnZWagAA9nQP/2YdLyLruFesQy6q9hgH\nnNMKZjcinPRWydrN3oKdSkH6IPxHkPRn4yGW5gevABxnXK2/NjFWB0zRi97j\niU1drN0z1nbikPz4lXEmaQpMtGMvLAWe8WObLIbwTDUSXkC2UYsAzTXTAW4U\ny6PAs4+HB5HCpqMDSTSF3YNXna+teFFnmRq9DL7GvG6kJ8ZH7FFszYvd9C8O\n/oh2Xpv8d+3aGgnbA1FuyuyuTbm2BBfuDz+SqW31AR77wbOoESyLXHE2HenN\n8o2tl9qu/5E6xZ6PMuNr30wotXnaZLYSvVh3eGCoigAgeU4RBaa7a/ANHUV6\n2ARx+mbcV3xKVfcecw6UBcq+KOCEMOQHmlNWd2nzcG7jCNG0vJN7QlvoQTW+\nu5GKnOXzd0nc3qzQ7xO0Rrfxulih3ev3zYN7dD1SaRPLTjq2vWosWGdDg4uv\nWjzq8ONvoKo9Jq3w6ruxWFEWGl1WbRD+QHvTR9pmoKALg69uAr6vO4PktE/2\nRUJavVrygcX+YZIDAiZvkZfCUg9ekJBW1lukA+WBFMyxqyd5PilAfVeqxEjF\nY6ZqElQQ4YAdQF9gTtUX6QR+AsNV/xowsLVhY/mFLBj2J6XMlaCBlDKsA0po\n46BpCJBM5n2m+S5UT6pCdlBz80bB5V1/8VNqVd883Ml5DAac+plAW+AzTsCp\nX3xU\r\n=OlLV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbWRjnut81FYKcExiCO82Z3V8VtlokZmF6U+QrB/1KiAIgI7Z3NK0oXXfMBu2axGqbYutI/jEFUlEFZrdVp3JKLY8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5b15122_1584729307820_0.18801339543349527"},"_hasShrinkwrap":false},"1.1.0":{"name":"formio-sfds","version":"1.1.0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"gitHead":"94a51c4fe99f854b8ec410eda323d35e01ab6e2d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.1.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-YsVLrO3w1zZ3UGlEGCMiYgEKWaFCTxh4qJdwDWqbeZ5D7jtfDKM3vgE15DbNdVzHdoZN80M6I+nadHJ69ba7KA==","shasum":"4b3e1a76582be1435f29ca04efa41d76e0524e80","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.1.0.tgz","fileCount":144,"unpackedSize":203918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedSlfCRA9TVsSAnZWagAAL4cQAKTLIFJfyXXNRH0eZ3ww\n77fZbKCss2IJmUE0YBFueayfbHbilJEr1e/+P8ZJen4XTRCXH8jZE9ZZG19/\nw2LCyIPzmPKNwqWjSBPrdteEc0XevVoFmXcYKCLao9E5Ap2mT14b+FA0k5ro\nc/C7O7yhPG0m+fiJ7BlWMZoqcvwbxRY82WbHmDNdNBtgD97p3W5YJ9gjmfAR\njsgxj5f3oX/uGBZkpiJnAChG54DeDYn8OvfkXctQxdNo9pcULD7emVKc4a1a\niL+NzpyGxHTdKWxuyRUv2oaXjqp0YayOhb7AlDhHstJc104ptI0CDPj0Eh3s\nksvAm8v4l1U48XScPHBIznndCLQ1z5zCw5FzFW3AUXcLG3ixuBD+0SaraHUY\nGjA6FHgVQ0TE37ph1dpUT5C3443aGhNgdMp+UzRQOIerNyn2OHn61TXD06tG\nLihst3Hf0BJtQV2GSEgXHNMVBZ5B4k5BpecUb51qRH5QQyBrGed8pQEheDsG\nzqc5VqUuR7FRrBdTcq/NdtGhaPlQHQxqo8s2x5jjAym5FAfsb73NqFXOiH6D\nGRHJ4tHOTWRHRASde/8De3xY24k/PXrL02A1G02iUpWaQROJ2gDRGIOTFGvC\nwvpqmfLH1bgqdrx5/ueDvEUIhnxMsXhJg285qAG6lKc/JYSNpn2m1DMhaxSy\n3+dg\r\n=N67D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDRRID4HdirgREhdmI4lB77pI5/huAIgVZaQSiCIeReEAiB2bHlo1P95bGxvyvDRfo0Mx7orHPvsXa5gQcRsToz6Iw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.1.0_1584736607390_0.3249843005294042"},"_hasShrinkwrap":false},"0.0.0-79fdd32":{"name":"formio-sfds","version":"0.0.0-79fdd32","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"79fdd3277d92c33f12129b8b04781e436f2dc580","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-79fdd32","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-lMiGXjxn9Vw+I6Sxz5L/npCrQKnxUzzM4LD4mnURaPhRYGhSeEZ4ob+KRjQZuypi3+deI1p11wRhH3+vCLLJzA==","shasum":"dfca7cecac38498541ef0b48443afb63d514b17f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-79fdd32.tgz","fileCount":144,"unpackedSize":204463,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedofYCRA9TVsSAnZWagAAerAP/ib/lqYyrd7P2L8V1D9K\n20UQim60MXJYEz+MNfTD5CGBtSoSv0EwRIIGBQHwrwzOMqt0RAOP1OAoKbDZ\nsbDH9y7undyr8Iz4Gjg3n3L0mqNphYW5246UONrr7YmoToong2gKnV4EzCIQ\nH5wPyQ9OPRR/qBD8lGzFZ6I0N9tawc1jF+jDkWhxi/2iFq04hSzzacbjbkLZ\nzHabR/6BnC3ML2zKoN30NJb36/zaxk+u/XxU9ov5O1zu2i0drexCzIpkoci5\nUqjL/AUyLq2xvxKJ/pzi+xoXwMLxqdjccCYt5nplbLngEuWyBYOMMbGt/uWj\nglG8VSg78lIC5nNkaRBKatiqsrGoWrQfjIrDGxuOPmtCjKUhSZaPZfTbL8Na\n1lDLwniP0kG/xeBbiXIXLcnGDODpWEXfxeBehZA494hAp37q7a4QG+d/UmVo\n9nyKqwCgja06hd56MTZSAza53C2pr6vb8qlTzHcevRr97U6jx53SEpw8LOeP\nZv7AkeSVrm+yJfHif0PrFCPAMjZuN7Eh0+9aO/dgPysDcx+1H5Vb12So2xn3\ncGgHcHczOGlRt6OovBZTZa0HeT24NzFWQKCfaJ8vAeeBOjcp3C2Q1s71VZvl\nQ7BqA+9iWMyDx/BO/+DpTCoynUlzzX/u5RFzpOXEmqXOpoBA7aQJjoLAzsDI\n0Eo4\r\n=clCY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFD4NfD9PU0HW4D9rDw8V4fvwdaRijLa0rEWjstzYhA4AiEA+gIFRUjGBbc0pHb4wUWV0zAWT0ZCghWWmbJ77SthOa0="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-79fdd32_1584826328275_0.9848719118649996"},"_hasShrinkwrap":false},"0.0.0-b1e6656":{"name":"formio-sfds","version":"0.0.0-b1e6656","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b1e66562f32eb300f76beec6c29093d6fe471c23","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b1e6656","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-K3xdvU/iTfH5uUw6ALbMc7RK/NIXpUsjBLVyRyvYuVkO6o+q75kiS0+bmwKaLi5Rsb/HPoW1zCiAWfUZKp62XA==","shasum":"74090fca7ed1e567fda389dad96bf95bb894c4c3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b1e6656.tgz","fileCount":144,"unpackedSize":202879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedohyCRA9TVsSAnZWagAAM8AP/3NpZ69s5TlDp+/2g/f+\n2/vcEWVuU0ltExVMwF6gWkRlUrhFWUMeuQvaTkgf+0R7sI5mPPzLE5twFM6+\nDjjdIO7cwkz9VokCoFkksj/FoTDzHYtfODRfIk7DpbWVYOj2DR/GMX62qgTu\nNNZa+wb8JRooHRhJRIKFEgsEnWYjAFTkdOKCozJZozO9ouPzBMbGZtMimPFh\nHx/ml52GhrKm3K1UKYPEYccApxP6hCuso+iLTHGtntKZwn/sq2dR8MU+N5b0\nVeG7gYa0CRxGLD/UQ2/SpqGgvbD91QmyGJPVOO2Ffmwa78C1nIUW4CHa6Htj\nJZZW5XIHVTGlYKipsb8c0sr3igGDNHmcr6a8w9KFIb3ZcwwXqTDY3HkIbuc3\n6sqPanpzXeYvuPz7O0fDI8nn24HV0wsTUjLTJFh8t3509asOMkEVJhOdpagt\nebPlUeWJ+IKmMCyVYx8XPA3DBruBXLuTsBQMLQfP4QdARX5Nie4JbLWc1+iS\ntJalB7mOzd3YO8kVSkSF2yMYX198Fs9ncRtObx5cvLGr5jlTcqeAreN1+oFE\nTfYGz9RYKiC5SeR4MWPDsF5QLUS/cy+MddB0NhJCMUva8b+vB/Pti3jHyat5\nYwkPEIixh96lsjrEmtD2e1tpP1CZOwyuq6pGvomUYc0u/ZqJ9/vstuzGCJjj\n/FIH\r\n=ylu7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWJET3rwYdhYJkkm2n+raCVEGs0CeJtsjL7n1k+sVyvAiEAr2f30jixTCXsTObTVMXkX5preCWA+UIXqFsAU9bB99k="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b1e6656_1584826482554_0.46960875142141845"},"_hasShrinkwrap":false},"1.2.0-rc.844c84a":{"name":"formio-sfds","version":"1.2.0-rc.844c84a","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"844c84a5763978c73789ccd5f000061929e5b0f3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.2.0-rc.844c84a","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-irI2FLwkvRLVRpyo9km16Xhf8SkUzVE3lRkzZRLHhYq1o3DaY5QsedCLUbRJMaTg9ugPDJqxkrlaeiwVJ9Hzsw==","shasum":"f2d9103fb3cf2864ad891d88c130baae2a7b5189","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.2.0-rc.844c84a.tgz","fileCount":144,"unpackedSize":203929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedoi2CRA9TVsSAnZWagAANoAP/3sLqKGkxnqla79vG7Ee\nTjKEPI0SQDY7+kT8qNFeAAX8jxgDWPtIfhb53Xq50j6RS3m16I6uoNStASBw\n90mjtu5NsBpqMjnngXDW+pPOuNlBVI5A0Q9LciwZWvyzFmnlBJVzJinFxtIB\njHucb6GMQE3H+fNMs6p5aZqer+1OkmD1xfw61W2+43sesW3VAUodF8If3J0c\n0ZC6wdUO1AjVLEcKEuVu6zCRlHaqn2XpngIL3GaqRZXQNnRLQEIZ2HZjBLRW\nbktYYYguab2ntEYHrfqrkfgAEKoymtJ8q6emnVbcP0TS2++4REBrpWzhBzzJ\n0gX2VbMmJYNS5znizcSLyvz5gXuqlbpQIRDBSFcDS8vQhDu04WMDeOIxddCP\nnYYke/0vFRxYviXRnuM/cVomskeHyLyR7YnAqLL+heyQupKKtIvkLwNNYgUL\n1qdYLyjlbFh53JNvRH+B2L+KddGZyUlV0t1xxHNyWToYttJbLfeZBzRaQ8dm\neKxtdOmi1Vbj71gMAiHoibT5exVIHTOUY4mPa5G2YFIspBA0mMmYv/8fvfV8\nfRQ7ZHnbyhN9ATONTLUZMgU0KHoc+HeoYyUjcPAKYyP8FwSytCzvCwpv8Elp\nnBNnYj5Vd9CVHi9fAWdtbWlKCLSvz1qEGmCbIRuET4ypyn6rETSFr5bMdoHd\n1rbL\r\n=Ipz3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtq1d2gwb7xdhNWKQ2MQkmBV8FH9RfgBuT5vCdnOCLIAIhAP98zWTykeWulKfU+4W3sbDNBRL+IyDT0kkyFDaS1aeL"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.2.0-rc.844c84a_1584826550396_0.5409518409037051"},"_hasShrinkwrap":false},"0.0.0-ba83afe":{"name":"formio-sfds","version":"0.0.0-ba83afe","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ba83afe5a23d2c9d980989ad6ee011385b8a2178","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ba83afe","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-OFl+nwk+QIhA670c3acMWOWkXP0VmATYlTJucqUDNhLLaFPx+e9GRb3knHtKQwOWTXTVPCQco+EuoIqiT+uXSA==","shasum":"cda76779b68defcec00a5269b9d2438ff85a78b6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ba83afe.tgz","fileCount":147,"unpackedSize":230195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedpEqCRA9TVsSAnZWagAArcEQAJsxkjWw1Eoq1k794gvT\n+NXrdinAiOAbu9UjEh6rHMFJTvNsyal6lSI2uVDUFGU88J2eunImqCXT7Qk1\nF5L0H/R1J7HRajRQmkSE+xmdw3EnCjJWslF186vBa3a3TdTr1RXavn4H25Ql\ndkK2BYcXDZD51LZWuQ2qP543NZmxjqJhetWE0kqUcZsNlno4Dp9IZDF7gDoW\nqtkEIfbPUGmS/Uk0q/tNgkiSSYMuheQpDJ0a3avky37/wC0L1uS+62nHXmvy\nZnRShyzWT3QQPLVW//Zej0aAjzKeeNIg10A717ZV1vKez4VPB9ClioF1BGqb\nnZiJrXRFgaDlhJlBOCp74CPn6ZDjJrFr39BJhOi01vjLTyY67K0imSTS+p18\nbPFN27VQUi7HCjwXwRmarGIRiYS1aRqQtEwZkbkAGoTRyZ4JIWd4heU5675X\n+d0FUQ43PB0TwXK38aT7uDvyHHuJZOpWTO2YiNc0bdhrrZLu6C1ZFP7dle50\ntlSJilGB9UCvCLTnmVD1NZgW1ynK8NWoH6b0OeJvLSdbvR8//6yHFQ3A56E7\nZddmhYPATnwQsc5wWeSpFQn8xQ9Oo+i9gogUHAki9Jccka4FeWArgtOlDx6q\ntrMKnhCs3r3kwPs+yu3PoT9B6tFfoePZCElxi5e61AcARz9zRInWXBmeVTuE\nTt6i\r\n=rfRg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAMKkzr8p6AcrzDJNgyaXCoSxpk1f27UYTNSxFYBdeWBAiBKSo8dilO7kPxA8ziXvguVrx1L5qE7c6pXJyHf9r8bsw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ba83afe_1584828714411_0.49553359855015544"},"_hasShrinkwrap":false},"1.2.0-rc.ed64118":{"name":"formio-sfds","version":"1.2.0-rc.ed64118","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ed64118d15a9c8737ece78a84fd38704b0c72e86","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.2.0-rc.ed64118","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-gkO1kWPX7TJqiBAMmaKyUBushnRiMraCRLKB8vqV1HJd6B2fLv898exB/s/6ibf7/ynCBMgmzgzE0URQ7hWVGw==","shasum":"bdb5e814644d36fca00aa67a386a8da662fcd533","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.2.0-rc.ed64118.tgz","fileCount":144,"unpackedSize":204466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedpKTCRA9TVsSAnZWagAA8vcP/jsUAuhyIqR0McDKps3/\nL+0+gHlLABs0nHxZanusZeEVmMOgHCXMMYYo8KWM3SH1qZNa3rbACAZI9ASm\nnjEukJv6d36bWxEkJbX5r/ZwbnJV7N5fViMFD70jUTi6UxMxPRs05BzvZ4dy\nubyGZW/ac907ik2mYML5jrMLG/yWR0/HtZonqoNhHBrzHXAxZEI3viNbvmOy\nH1v7Mku2HhcI+8SMiBbnyh9pnUs+fm3rWk2ACL9WWbToKSDLZXOknwo8GCDb\nXMyH+fQUkagHIuzedZJqFkD6yWHZRZy3Niz38tGrid7vrqcUv8F+P0xyb9Zq\n+jUdkbvubOMa06ivCqMoJHukLSo4unAOY8Ty+yyWItojqaK34homYOst14fM\nOOyZy2OWVr4qu2+rAbNM2ySFIPspJwZ37BLrL2VQEESPhLnzGOsp2ay7tdgv\n30LjAJbdL/LdnAyGV35xeGuZx9pXnDl8YJqCFo0/F4XP15j5v5nM50riS0KZ\nGOSeyTvfD902Vo9n9XZ6QfBy1J6UxBEVQZGDfqmIJEsvJOw0uFfsB+k3CHlX\niyvFoxxh5rgCRTBvtmtoaamP0knyqQtgh+6bT5ZCqX1TxyyYfTpjlmfNXGip\n7lGom8jnooMTRvLIJNsy7bXfVR++uPNilzTX3klgRlXvr9j1NY5GyTtpWtiM\nwNHQ\r\n=pDlU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA6gSs4Nsaqh5AGHlAs5RsbehviyVoq9i38XddBKST5LAiB0PYt1DDUzBV/Fn7u5elplb98mXtg21DY5fqV3kYdjAA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.2.0-rc.ed64118_1584829074773_0.34828396636959624"},"_hasShrinkwrap":false},"1.2.0-rc.deaba6e":{"name":"formio-sfds","version":"1.2.0-rc.deaba6e","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"deaba6ee9589846cb71c9543da1552e4e282e985","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.2.0-rc.deaba6e","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Yw+DNDmVm2WYlupbuXB2/SupCp+EY7sEyugGQ2/VEMCHlPi2PFmFvLOeZbkZbbAcT04OULhmioz7BP+b8/v/4w==","shasum":"9959640a4d22244f7dc3a5d7c574b46d6ce7b28a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.2.0-rc.deaba6e.tgz","fileCount":147,"unpackedSize":230735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedpKcCRA9TVsSAnZWagAAHbMP/2W8GoTfhXKgL910RbrL\n6+TAGFgbUk78FqmAJ+ph2mBfsOhNVx/M9KDLBHESF5y/NsSbN7GjWuId/I+F\n77Ra0Ot7RP1JZsg8LU+1UpvRA/HkQYBs4y+ohNSbkVzk7Fw5T2//a3yyhvkn\nNciXcm12XOpDDKMqslNuue5yE8mTXieGLs0Dw5D/IKY1ItnGg+V9cT2+Is4H\nKE6aZFTBm9dssKxSvDALh9AlW8xQuhQjoWpDLASZXEW0/ItiZO5xrH9cc36n\nWpojMrPlly0OTT643nNnwnUw0w54VB6xf5VtfFU+cIncUDZW3O63l6zbXF9K\neF9ecKdwKVnwaMhw4qFrsFzEJ4MWyu3wr3xgSp7ivGL6Wa8a77vN8wzV5JXY\nx4AfmZn+SebgEhduGBVX6mMwM6W04N5nFC84qbkVv8nSdhf/kqU7jQjEZMkL\naqHQbief0HP2F4O+wFdjDf3HCCqJc0LPCCWf2cy8jAxZcdr2yifFsaW469bz\nON/ArR2iGRgY3trTwh5EGNO9wjh5lkhKv/nJRM2HqvxReqZJUuysiztcAXSO\ni1yHopH/9kE/TcGq70ZalY6eNa/g54OkPK90Bjg+RenCWPVgsvJmMwrLyIOl\nYf4VdghJW1EKNTB9mlj7H86AQ9mxhtMgj+gpMCXe7EGwx5dqvOZXxXqkk9Q3\nSvRH\r\n=aFnz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6AUlU4jwmqCliUgGM1itj+9rLX5Zamzi95MjKgv4XmgIhAPDx60ydTBlzJO0AxxeaaccIuUgl/ParMtifd7OE9oHy"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.2.0-rc.deaba6e_1584829083778_0.4569158407127554"},"_hasShrinkwrap":false},"1.2.0-rc.e09ead0":{"name":"formio-sfds","version":"1.2.0-rc.e09ead0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"e09ead0abc102cf81bad1c390c894472efefad4e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.2.0-rc.e09ead0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-tM3eWgU2i3IXMW/crNa58/RkiQCniTUBEHWMYqXvyadqRliLVpppXCwGZZNiuZKCTNXbZXN79dq1X2HxaUxUNw==","shasum":"6d8166345d0065ee54a3dce9f2f1d71b1d020c93","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.2.0-rc.e09ead0.tgz","fileCount":147,"unpackedSize":229688,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedpKpCRA9TVsSAnZWagAAs58P/31eG72om9WO7ti7RdBh\nQ28t6Bt0eZYbjQpxOtRVCv3aWwgQA0U6BP0ltsht7nFDoHYYazvSDVPnAvYO\nX37DUpNra36T5kVTsXi7qjgPHUZOdmcn+JloPRYAestH0m+jyt0eZYiOMRLn\ngbJYsPIGeuOtTlqUe6QOQxhhHhDbaqp3YgT2oJYJLcIWq6Kpw0xyIQ9Cxp9f\nYDs9ANmgMAcaB+DCOSeRSzCt/94W3o3EkfqSjfLZk5lqIN1cI0J84wubPlm0\nmYaz7/1V5nIsFHYE69CZVhArxv0iVzM/odRbqJJHFZCPbX0/IfkVfUOz3exu\noFVltvwHUXbvBrZgEvor+JJ0i7TxHNabDfR7TQqkkdeJxgQ16sBX1rmLQPXt\nQMl8edUL2oWRQfKs2gRJl70gsKLNSms7y7gvUQTnxqNaE+zoq1myDBnaeeAH\nduNAAeh0IUfgyLetmarLjR0y22Nh9DTN4/bGWM6kG2Mp5FyctqAVrTu3OHhU\nzpIjK2RVpTUmuoqQyWcB6xVA1x5krYRvX+YThsf4YlwTDOOVPCPVkNpC5Ij7\nWPgePJCtBB2AIMebwMXxf7Ku2njs2XfEH0kmFZdGO+DSo3ZfvIEbn7vWjNpT\nAeWqcFh+yDam666wloWBR6Bpf10+HW0ZUkIVaFBs7abK64Uta907ukWREkSZ\nYXIR\r\n=dPpQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAJDGzc/5IiI3Aohn/asF3lPLdrnTL78hBcxzDBvbb3YAiEAooMc46cT0uHkGDy3mP/MPnejalz7Def6DjdmyAChc5s="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.2.0-rc.e09ead0_1584829097365_0.8965074680492693"},"_hasShrinkwrap":false},"1.2.0":{"name":"formio-sfds","version":"1.2.0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"sass -I node_modules --style compressed src/scss/index.scss:$npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"npm run build-css -- --watch","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","npm-run-all":"^4.1.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0"},"gitHead":"87e38b2ce53bd721d3f5bed628db017b75e59c3a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.2.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-uCotcDKt4mC9kSadAgl/c2GOBvq8uj95OQa7YEHyeRDLun8/vVwsiTjoRYO+Bh9rU4Oj5X1CQ6oBN054urZitw==","shasum":"e315261a4eabc03db7ef9690283624032e1e0cbe","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.2.0.tgz","fileCount":147,"unpackedSize":229677,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedpNgCRA9TVsSAnZWagAAuf4P/jS3wcmRBzwZdsmLPETy\n+8Y5J+SShKVhUKcbdOex3YnpDGADexE8aBuRzC0J8pJCcnoEDmhksu1yxDqR\nSpymjmk3Yk3/RNiXpFoPxB6vpe4Avjk9kKraWsmWHbVf6zcgK5mewH7YmFbj\n0d+ji8FvHRS13FkRCQQRiuaQWMVygOEix2LKEk1zky8IjuWnrVCMza3GUUl2\n0g8qCoNsfWjq6pqfgoG6g4Fwnvzf7PdnDMaIMmMssQrpnLduBQrMvKMpn/qV\nonBL4ITGL877RZOyRBRnnKmls7aMcgIuMW5ZlbtkR44IaNU495QLGArViHy4\nSEQmz3bicfgP1xc4UiQAlHmjv1KwNDYtvUu8DJf7LFDfuiTt0Wbw0Y9SC/tb\nxFXwSK7aAj3IVsaiVcg5hGBbkKPzrF1gBi4v2ZlSkXXxw4ZeicJ/12dTV825\ngzsb1EU5PHAFo20AnvULBee2+1xRIvFHmCOYb2xYaliiGr1OeMfMwmipN5vY\nrZJqd0m49SYvnIf9FBJooJQRt+fi4GHvNr6m4FWJUNgKbdtEtQuZiUNeBJAD\nh6xpiTwsqo74Obncrz0ormUtnGvJmpcT96TwJwCgmCz/PdA8gkw0wxTxbLYP\nPo1NT+nWsiWIr0mj5gCLHHGjVpeqVCijWeAJ7KaXNQ5QeHiHb3Z434qhOF5m\nlGJL\r\n=vrRf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyA4S2u0TsOYn2m5rojwcSzucXrhsHCjCD5goc+W7tuQIhAJTKourp/M75AgscAc/36rkgjbUHIrZY0YoybRubjcqc"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.2.0_1584829280247_0.435508632012366"},"_hasShrinkwrap":false},"0.0.0-b9c6549":{"name":"formio-sfds","version":"0.0.0-b9c6549","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b9c6549dc1b4c718f3fdd76d6bd943902b1544ee","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b9c6549","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-LZ/Okhlj0fuzqUHee9KbxyEJNhC6rfYihIadeHYwHQahRQH/8NALJH7OZRWFxTuK9sJNXRCjnRLmETNJUTkNww==","shasum":"0f184245e12afb4ad073dc417f3f22066b282772","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b9c6549.tgz","fileCount":163,"unpackedSize":387032,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeXycCRA9TVsSAnZWagAASnoP/0KpbVsVQQTMyBcbTIrW\nhYb5/nQa4TWVAGTgz9ImJ4Fva/xH1kRcuO59HXTQCXxbKRrmGPhHp5kxi7Bx\n1OIlq5DwE4wXD77P0tnQOKUXuY2b/DnAqv84jWNyFeEJR/60VFbDTwiWPTeQ\n02iUwrzxZiXOoR0wzg6VhxEkazb83PjHu46pWpIy+7LQ4szh2Y8pgo7HKW5q\nyBOoAZM/Yn+xai0YpavJUHzDg7fyBHIlAm2WzsDfu9qgqdRAuthkhVTfE772\nrjrmXturY0F+Aoo9dc3RdjDBo/S0kZPwuVnB6BBMIezJ9bt9GuUYtk7pBGWR\nGjjgXzD1myr+Z/nUL+IU/F8Tj9dnrSwAEl/Bv5NgwTu/eqyt+/foV8bO+4uI\nkoo+sRZAakNwBf6q6vpo4xtbuSdt4so2A4/qiJyRm2jpSMO4eiXH49xX8zMt\n+qFqr8m6lxrf+fbAF0dhWTfmb3CemFSOT5Gz0p8rOF1/PYb4pHhbUvc/bngk\nEtgtnVPSwSmeqA2kep6PWMRLlvm0+6LOo+QKEKq4zwo0jP3pOtoiZsrjqZpg\n2hR+dU+pTq9c1IanBh4Fwzy+6CDY82NoDb0XGkrK5nDq9TCbCwElKsFwVoaA\n5mYYCb6WqMN3Nt9FidP9uqyxoMBTZ5Rtkd6T8QM+rcG+wFKBF9skXYJHtm86\nkYMt\r\n=tSRq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFM/yjoUXW5IlQHeRZlw87/QQjbrAZqYxtup8ZOK0FFoAiADrWgMnx4BMxAhQhzNwdS2gZ8PCEi96r6T/OxSZ5Nwow=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b9c6549_1585020060013_0.29920114414341104"},"_hasShrinkwrap":false},"0.0.0-83e65bd":{"name":"formio-sfds","version":"0.0.0-83e65bd","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","sass":"^1.26.3","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"83e65bdebcffc058c29b1782b9013d81d7fbcba4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-83e65bd","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-iy/1WAh7VGKlEzzVa0AYLaG7QE4nXfEwln0NJTQblQp8LFAgk7qjMOpcZzJdh6Uw7M1vputoKqNhvsygbMfCjg==","shasum":"f23d55d6c3870ff7ae4eb243d1e0857844e4b7a9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-83e65bd.tgz","fileCount":163,"unpackedSize":390121,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeYAACRA9TVsSAnZWagAAbDcQAJf3VM4lhHZRUXmOS0jB\nucdJD+3ZPjPWp1R/2Ihq4SuXCam0DN3eZNqd5yoKnGkdCrsZTbJnwSruu+2+\nzi8ccC2KD+MDMLzRbsC6wUzCLwYYaGuD8Ppv6vM/dHdBLppzRhddrI1e4Ii/\nxflkJ0QczWMy36IQeiwZ8TmK2riCWaps3TSe/JwGUPeoRhEMdpRDhOVTrjxV\nfcbI2MW6Ly7Y4fOiXtyd5P0rwr+OAZ/SviY0IIjw67B2AzCec7HoaI96focd\npQa4nYj4aOnLbgCoyGJ9NWDF/zuRuDbFH7zWDSgi2IH2DNMh5mFR+yD0yMGP\n3quiSUo267vwxITDsyTskrxRt6K1HtPRgzQTmjiM5M+LYy1LYdlp0tQoGRWy\nCBkwBHzuWY6zyZNxzA7XRoGFdwbyO3eD836dhFnkVxF7EHTshZCrDpgaDCIx\nRvqWEnPVlpYjMFaZ2thXkRtdPhuVzo6lhz95OtqqzgyrrsYikHyt4JhVUk+D\nzGEbfczBvG1uygRoBoLiP44J5/VKMhSePb3Qdf1ZPTHf0U2PqEuZ5Yie3yHo\nP9DO9y/3zSTw6J1ex0+E9PqOQy32lc0LpY7jMWg+ocYBwTd2lTt0phyXgmiC\n/8p0gKCKp+HFhCwqUYR3y6XVg2Q7v3rS1UvbftalQG5Y4sfP6uu17zE1+26y\nzUG2\r\n=bHNs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMs2jznmigQor2eYsYaD7wTGIhM039kqEI46kSCGbiegIhAKBUCQtRAsQGI6hEAmV5nCkiUe34Cy5wDXmvYNsh32MV"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-83e65bd_1585020927979_0.2011689507479082"},"_hasShrinkwrap":false},"0.0.0-6112e30":{"name":"formio-sfds","version":"0.0.0-6112e30","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","prebuild":"rm -rf dist","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"6112e309af8a3edb69f627df1d9301649847df3d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-6112e30","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-+B+z3/suQAsdpE02la5zdPQ+D8bLCbutf+GDuLHXkU+re/JH+q5I8E1zyMj/DRZlHiRJbgatnpMTzVzTQJI/sA==","shasum":"8b6c3fdda6e1343d0ddcfe5b43f8db53fcd66519","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-6112e30.tgz","fileCount":167,"unpackedSize":468067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeect2CRA9TVsSAnZWagAAs7IQAImxdKjuNFrdxysjsleo\njg7mamUVSzYlxOtOm8sBZlFfksbn6r/UObkM6D5ulwVrDt+3vnYrA6lO0SKa\nz1NOvPlldYAeKDlJRwXfUS2KdRJN/66WBr+4/s0amHCPHAZmh22RNcTRQ10M\nW2dizarUcSv/MDWS+6lhquTaSfEOO5e66Gc7dgqzVdEkDH7Lg84YuzslEjKF\nZ3XX2IepJeJiLJBHxcl+mUDlvjlZnbqcmJnoOKsTgK+uOeLdfGl+3lJcYH3V\nNjVJMTXDp53551QmFXhwtcZw9ubGM96lkZ5/ctE8Wg/TpMBz1MmU983gIOda\nr+Ee9j0KBgSNr+B8D6NZI2sM/R09KMShsARfzWK/8l8GtAeQn4CtIqycfyw4\nDBI5XZnKo6VVpokGjEjt7r46p2G5PklGuKAy5oC48UCH82xC2y1oB7WP5hdz\n3iUaj2vKJR0gxOpHp3/Ft9EDFH5nkuYt52BNZQLNpagP4K468hDIcMsniL7b\nV66Hz2Dvic//qrzjHe/DfnXcIoKppeGGX9+Y8ibJAwIX3bYxdDECjVNwKVZa\nmVorsWd8m5y0HMPp1p44ko1MG0hneRtPx4PObIGlnMiT07V0MYXOD+wjEfKi\n56XEW7UcuUbMUG9o02z7YRRGXD+ctdqLLXynW+cm19ZuBRfLvpH1gt+YzMAD\nrdl0\r\n=SEkI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEdXt/oE6YiiUchE4cb2b2BK1DIYSmhH0zRzzzBhmglzAiB+fXu2b/ULCm69xPuWWwWC3LR5brITakSyLo1EHz0/DQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-6112e30_1585040246217_0.18627703181284705"},"_hasShrinkwrap":false},"0.0.0-9094383":{"name":"formio-sfds","version":"0.0.0-9094383","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"9094383c9c2f5c7eb978c2ba413e0cd25ba72af9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9094383","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-tbSQoFKLwRCSvUGeJ4D2Jecujv1RNLbBVYbPto/TUg0Eq5T6ptJYbeCw/LgacQHGemxmyDXBq7SQgpTxPYQ6Qw==","shasum":"1e93ac9249c909890398ad76b0687e282d695f41","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9094383.tgz","fileCount":168,"unpackedSize":467940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeedROCRA9TVsSAnZWagAAocYQAInD57iwDrC4/D08ZkSN\netJXJb4PyaztnSrW/rwAIRn4t46P6MIyGOICki43YB9sk5fTDGhCGzZBxh9e\nQOdHGI4p1+UYZsnI3sQVIAVzrLalw0hP+oSESeMOZc615M2Cte5SZh9tZuWD\nsbw0PUuLfmqchOg/M+blV8jIoIAMsnCnUt0d04UdiofyzWcEgsKhqzJJ57BM\nm0oLy4EP+4ARhrrrmuojAdwMWmgDQ8zpgTfW5iX7ur9rgufRfjBPGBzSE8cN\nb1iEFDTOyV0cx3U/q+/0U/AmM8JRi8UINuZMVzsY9n5h/3XkwKmHNWGK1C0h\n5/hzXp3FeaCvN0bzO38xv6Hw4XoFr7UUTa5HrkeePSUMmJR5Rs4colW1OPpv\nii8xnI97Ue54M89aD9pqV/Gvw9WJhwQON3xztb/jytLmAI+0R/j3iFJrpqBl\nTgJdvJWfR5R8uJbr6c7LnrYMQ8Glh7CCWrprVkVDiFRkrzHuIw36FYhhujoQ\nTMWOpx18BOVE4zu6u05ysThWMrhvWMMJv8n3f6chPpYlTEhzBMq13dXtvBgQ\nVGrz1QygTXTJmRnXotLSChOwoKrbNKbQw/XoiLECxbBSBupNm6IzOaZyhTup\nLVMxuYX4RtBRYhGw8orKg4NOs+1zPYZ0rUnec9sWESBaNUeYSTr1dSL4sHuk\nIaZ9\r\n=m2bs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDK5q8o8RYcT+5/Vu0DiNarUv+d6VI7XQjCfoO2qi1XHgIhAPlakt/RpRv4OCe8P5Ugok4EGs62XSwannxTv1GXtCTj"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9094383_1585042510432_0.5118644574607636"},"_hasShrinkwrap":false},"0.0.0-1be6da7":{"name":"formio-sfds","version":"0.0.0-1be6da7","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"1be6da7f3512b56b97d790a2db40a2092fda3d73","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1be6da7","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-7miU/Z3ohICdfqJpEtg0N64bbRnl5WJqmWNieoc/m3mbokB4TkmqZFErzBSxOU61LOxfyX+u1FVFaWMKJSus2Q==","shasum":"2984c72e370aeacf0da2e611fa1a9676b10cb1b6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1be6da7.tgz","fileCount":168,"unpackedSize":467815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeoHhCRA9TVsSAnZWagAAAQwP/jXNPpui1erkR96bke4R\n+F6J6mkcCe5hY0Ujb5vBcla2t/HtfoR96HNpBaVyWblcgUAbsuZuXAkzPlOe\nXMqqcoBejCqUBmmA6LNklVMYmZy01X/uA0TvL+d9j/V4m7aLi5PxiqhKJoaI\niF5tgZlxlCz2PgH4s99r5xLOJhIhSC60a0Z648d22c1tDbwnFqrdDAZXt+mw\nhAPWD8wshAwyg23YT13xmjHd5AjuB8iQ34WNIGLGj9CPfGfcJpJsV8PcHNia\nG4w07N9rsv1y9tpv627GTyB12hm0hdS5G0nN9TTtJtfMwgstpFI+KIEoRtYd\nAJergvcWRWHxVVEyVCzqd/IhiLcHZSrqJKpJlSgNbHWlkCTSVo5jGb8QjILj\nl10VhHj3jAbPTeEr7K/XFXRxLWgWoCjyvg7ipJ7w58IPCboNAdQdg4rJfogs\nFhRwGK0yDD8yMAdoGNFjT1BzKJc9CNjCDdpHFCLg/95ApUgcWhzgKpIx6SmL\nnTtFoO/qHwv5rCBHoR8muj7QZhvE2ZbyYpP0rLAAyTPhRpwjR2pdZyq+4Ku2\n4BFRnGUPuTSgdCwrb/qDE3vEy6kIkJFrGDuRAjGw/ukxWC/sHzNRNe1MCvPk\ngyQ/XYbre5wpwkYd67xuPpCzzYFnmnBQ0mcd3wnrIaK8Fku1adIA4BV70YEz\nKT2m\r\n=XL5R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/phuO9uSOUFfT4ml3N8tPma2GQvwBCoChl5C89igASwIhAP8XBvYbZrZBWb3WElmRF4dn83ekLaTwHggKm5kngdUd"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1be6da7_1585086944691_0.20002101132891248"},"_hasShrinkwrap":false},"0.0.0-d35f318":{"name":"formio-sfds","version":"0.0.0-d35f318","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d35f3188829cf5184fe69b766508f4f975bac3a2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d35f318","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-x9lJvrLNmP5+mwctaFNtJP6GEMqg+1fEbG3oL2x/5tgfWniOEtQ8E+BzStpjI47qKp+hh+nE+758NBf/4NFr3g==","shasum":"91285be63e9a39ffc1a7b0fbe145199026ffec38","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d35f318.tgz","fileCount":168,"unpackedSize":467815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeoK1CRA9TVsSAnZWagAAzDAP/ROEoWVve+sQ+dkhHgIV\n6Sc8W59AxtyAVu5yxEHBtF6N4cHKUHulDliZav7dKCY/puR3AA7sbObLTzy0\njtOtgJyv/vxVFeK5SI5LNAh5Pp3ZfD6Jok3P7mAa5bt0t1l6fQWKJ/Kj7DfR\nxXKPGsLhsYBcdGg/a/IAAqJATkncltmVvbM3oeoWHrFKgimQz0Lvciu/okkT\nS4+6YikbLtjNgIlb2ToxcXdwXhwDDeHEDqfJL1nL53kadFM24NYmV+AL5owy\nua80NZTZeFc2x2PGBBmDZBJZarNEWb34pdz4FIRAcGqevI9B/rUWiPtAtD9U\njYwWF0g7PRWhGIWvtgQcWmij2uTsrkD4hDxgqDA6SWKKhy82tqigXxBEGmsg\n2RP485pONorRcZ2FfISdb/VR+eo+M2zgW7xg+ZUF+pOMEHn1QkY5TgVBpKxe\nEVjtU1/wUJ5rW2IAlkfDhVb0CTlgOhOPBzyxfuK1KqAmWJE1fJ4JasMXt1qL\n1sK/+3ZGHlUEHrPgPBJGtH8QAtzn5sHtuuu8cxJ6GMsqAGJ1XET25bW1Ptpv\nI2Qg7kmCeCmgz+n4p4FCOfFOqhuh03dQWlraOcbZP3/BZK3r+Tt0LhvHzjE4\n0rDWUfs61Z54d4zObPX8zIPKeRZrN7Vtr69yFJDGxYNMSJDlAH1i4T+GVaFj\nX2yk\r\n=9ir/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF88oXYFfhiNdzo8PiJ9dXAoXakx8WKlDYkq1yoUpZL+AiBHTHQIdqeSCRPYDLYdxDUHzeGMzYeIrocbZGEuFG4csQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d35f318_1585087157374_0.6463117726921921"},"_hasShrinkwrap":false},"0.0.0-81dc5d0":{"name":"formio-sfds","version":"0.0.0-81dc5d0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"81dc5d0976f640712fd55a62eb922b4f000df4fa","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-81dc5d0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Z2XnR1PZUsoyfha4cUmsmacmRKb1BfSzc0yOkoDhSP6binUKaFz44GcvMHecn6SgXoiPlm5QX/AbwF1JCSPGXg==","shasum":"82f1108dee9be348c6c69420998f37c3326c2704","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-81dc5d0.tgz","fileCount":168,"unpackedSize":470227,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeokqCRA9TVsSAnZWagAASCEQAJIYIvYoFnvz5bdWxbNs\n5n7Fe4WNEoYa09VSy0RZg4kGucZ+r9qVucTpLOSU0XcQJ/Akb/WKuiF2koAx\nP90kcaPh6eRK+APyrzTQ/5wrgbmNIwDIqJcgId4zNglCRlgPYMUQllGh4fui\n7mCe0oKqcj/o0fhWrwGdXoDSgPyxebdoa+NPJMKbCZIx9ZiwE6cnUiulPSYx\n4caKmd/Bk+Cdgh/mGItP/ZvK84mAaC9wQWdkwB76S+edfIdcqhWq/EFc/WTD\nugjxqZaXFV8ZPEf/I+xs8RTwazihjvhshF1bGH21OhnIgF4fIH8Seu4Duytr\n9nTwpP0gqzbRu65Hc7PHfMxOYycUQemG2jVVIksCBshChYq+99uxBZXW/nTF\nNaC2gMG7MvhYCTQiDA4PrREOzpOw5l9UBehaBS14hHnYsStPR4d8z+hdUfsb\n2sp1qhLdtQlvsq9QRGxnhmFUT4Q75jeDB8z/dCkS1ImVkZ5A0YoDXYtmYI3g\nJJXJ9CeQyJ8IqLmVGHDX/g36e+dFZf4AzUD0X0PjUrZZQzWSTqWNR0Y1tkq0\nC/NCmsFh3BSN6VnN5ZFHobTW1uNyXHON6GvP0FpVm5HkupQ2XcZyxDMofs5m\nVvz0jtvZNhwqn49tni9sbTI4mgDrxGtj6XWGzaWQABvsPmkN/IzEwjd5WgsT\n6j/Y\r\n=cvbM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCervrOWaIrlajSUhYXfkqRYhIdjNn6z60vwG1XTOztKAIhAN2j9TNlCfwxoJIeMOcEgwGMtXyjFDPoxeM8yuBZKNt1"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-81dc5d0_1585088809509_0.9666334771910452"},"_hasShrinkwrap":false},"0.0.0-294c4f9":{"name":"formio-sfds","version":"0.0.0-294c4f9","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"294c4f9abc247923e3997a61d75863f3793e743b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-294c4f9","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-WQXw6N3mc20u/zTvtOKveyBl9IqNsQI+0XbKNYghT4DQlDuKEuvSYOuMCUoDgHsJNu9IibucPZcB9QN5f4rb6Q==","shasum":"5f10921d669c5add05a3c1aea32ee3e0e2d0b956","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-294c4f9.tgz","fileCount":168,"unpackedSize":473387,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeepHRCRA9TVsSAnZWagAAjZcQAKHaBCTj6bA2d81DN8Zn\ny0yU+XPYRi47NRNpRGStQ3Ly03vN/CSSLcNK+zI5cKjZyisUVYcapfu5ETLy\nz3IDtV53iMbVL5nKP1xuwbF8/ebjj+s6ggSFyj/+SHTLAAxRif4oHuLd7Zfq\ny2OH72HSYRXhxaoFO6u3ATlEqWXYe9f3ou/Gd3pOjxLk5d9ernN5Pew/8OW0\nzd+Z5l4EFT38H+QoAM8lVgxSmWfDMYvIpoNe4+m7YSJkwicqO7LPYOLvV0Gr\nKaBygx4aFdT46ukCyeBL44iaYAeCImh1Ra4qnYo7MPukDEQxZfa544/oE48r\nyw1CwUwF3KTmNCAmWI9RMGAT3mOwURg/wSfkg/ylku3WrJEectuJNA+jFVN/\nhu7GXUUy32sNAI8U8vVvRTklVUTKVr9LcnkaWhSjumDpz1g6s7Lc+pHT3T/Y\nRTd17c74MjA4ZgfFigJ0SABKnN2GV3WsIOmOiQn2RuGGrWUVffCYZO8RqiBv\nXv7gurXfEF2VWeInu+tguB+XhJTT7gn/nVlKLdk7xw7/LTBwzNHhN3Qp2aRo\n3O+HaJbF1Foq+ycSZjRq2hTco0a9GdqKa77eDWiiYUvflK/WZ2453tNLDYli\n/h9XrFAnPJjZe/Bh9xctahuvtgpaYK8q4vVZ/B32CLomqSiJlfAEEqDc4TVM\nfj1G\r\n=uoyl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICfgx4Z/08okj11UaheivHPssPO/MFctkUeZ97/EK0WNAiB0wcpVrA4DEcOEVnc/oKJZkwQLB9+jIBQf9GEZxc8riA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-294c4f9_1585091025107_0.2785669972439426"},"_hasShrinkwrap":false},"0.0.0-35965fc":{"name":"formio-sfds","version":"0.0.0-35965fc","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"35965fca47fd54a3c96d64ad9479f21e61251596","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-35965fc","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-7GKJ23wskz4ZdOA8c2Cdj8Qg6kwm0E8bvxZbzCdj3Rj7BgiOSBYO0Zfg4UbXnnIcAxG4Ah6gctZjibtjJCSAxg==","shasum":"056f47f0f6fa153a8ca439efec0d7f0e0a30e235","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-35965fc.tgz","fileCount":168,"unpackedSize":474806,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeepTYCRA9TVsSAnZWagAAfckP/iNmNIsZuaeCFRUKjsEy\nXdQHhbACcFceSWBs6EvUj8Z18dvzpqW4aZ6thf9HJg5bF2OOYfDzpVVIbOts\nnyzx1JgbqyV/0K5XwV9OrWw5hl4r892ccHAlLZ9lvFuHD1OyUShlE1PsGIPO\nuoZ+b5xYj1I6BQMRUHTZ8pYMkhUPJ7ml5/HjOXC+ZTbcXoq1TUhOvpP4/AI/\nvP2N23pMUlchseB+nnXfpBLcNFEJG32zbglMkC5H+BL1Znm9gMimtQ76F0sp\nDchwbb/XN2Y4F/C91sGBaxyiNBABt7E6Krcveh3KNxEnlaVdfANr8snTsets\n6sJwWyamStm2ylWat0suz2d4zmA39O7YsWtITNjzRYxijFrYLCYUAcx8Z9NW\nn1Sj4i/tx2SGdEF/xlvV5HirOo2ZGRbXvIwQyCH5waQj7yqEoP9c0EJ8rDxW\nQJu5V66I4/gtovyn5XeJNQZseQPxRK8gTEBl/mgQU1uOtcFkFamkKq3s8KWR\nytRQTpARyjiTX1eyzkmJWLcYysPG2MBP7KCqLTloB373x02AUV77X83i/F/E\nH3vS55O3XQ07BUQP3/PJGs9g3Qc/xPwHpzYQgLxK4hokWaaPhoOcAMylmUuE\nlTvs2T8+NTQticvqXxT70LLVQ9pbXzrfqlpshLOZhqCg8GjgItGj9UDH4EqI\nDYTz\r\n=U6dv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3fXYHLEhMbBL0iNVJKfCk0pLcOWlwKsPooGeVmZ8ojAIgFA7PQbCImswF5mjI/0Jf5j5ySm3qrqQuOPYnr0ORMl4="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-35965fc_1585091799771_0.7798043771108532"},"_hasShrinkwrap":false},"0.0.0-19fbb7c":{"name":"formio-sfds","version":"0.0.0-19fbb7c","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-p 'build-*'","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"19fbb7c7e6a615646489a01f7ebd2fa7fa531e7d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-19fbb7c","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-rkgxfVZrsfqGAe6G60+XAjRlBpSlzG/CHgj/4Ef91E2a+RoCwx+YKyetNnug8Pehtm9dtFUw7gHSNRb5uKsOvw==","shasum":"6f6bca0bc7e538bfd5d878cf763c9f8800770f48","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-19fbb7c.tgz","fileCount":168,"unpackedSize":476021,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeepfuCRA9TVsSAnZWagAATlAP/2qaHnhA1yOjdaavBfob\negrYiO+/M0rr+i5YrdpziJKt13RWOHR4zo6QmX9c4Y8z6vlbqi6WGKlVuvHA\nHK9Vwzv+rpyJGitqYjt5zFQ8K6QTdWKAow3whYNgZnfwN0Be7/FMv0tHr/ue\n2EhsLOGvTHUKVDTvIpBahndsX2uzq8CFRNqQGqa5EiboxNXC05v8rgVa/Pkr\ng36SVaaykcftwVVRYsBgRj0qRTbMZvic7VJX4T1McqQfcMWV4IhEVjzqm1Qf\n/IrvkVzvO1xcw8+C0+4EaUrpvGuJTJeVP6gertfyZHpte9/fUYDayTHVx7Fh\nhrv0vU7ayAJHp5RXFM1qp8z7y9Ch+9WgsW6hFKbSWulWm80/PDdkRm9g0ju6\nD2BEQeO+lWsqFX0xFWlomMLhf9AjITPNWoXwX8L3k//CRKZ8SrvpOKbqfjoC\nA8hvIWKr2Q7oK1OKLMajBUxsloJe2LxzR7nvBU/xy4yRj2pA5OF2u97XWY0O\njBq6mSkZ4mRJ2L0Y0vfrS8F5NBKB7PtXbUsxEPOnGoBfywsqUw6QUxfb3PC+\no2UOk/pWadnI+tGRFwq9OU5EreP6jAnWFtQlGq88BB6KI4Wu3QItdO1tS+Oy\nyvbWpAl8hsDBMHBvawNfpAugmmkL8wFfe6IVFOjFY1YoubMyi1MmKG6MHl8a\n4el0\r\n=+fdn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPu9r6zmuR5BCc6TFpp1QO4d3b5glrNO71R1P0UOybZQIgS3RtCfsSaOhFH+mcaYUWgvN2h2i+7CIlUWN1j4vQEy4="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-19fbb7c_1585092590019_0.03179772933662983"},"_hasShrinkwrap":false},"0.0.0-96d4a56":{"name":"formio-sfds","version":"0.0.0-96d4a56","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"96d4a56562e61ce436b7eebb6d0682f5d63b4d98","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-96d4a56","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-S+JkKV5Wwf/wUWZWT06sPazPdB2ZX6FOPM+dtxvkZ8QsA0LIEmTbI2tBJHeUGqGtHb6cX0KT1X7kGz9ry86iWA==","shasum":"84bbbf46e13b667dee12a044cd48367e0f40150c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-96d4a56.tgz","fileCount":171,"unpackedSize":2178879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeq+xCRA9TVsSAnZWagAAq4gQAJSGppWfx0zT7aVSBEWa\nLFpcN9Es+D2HJ8M+Uei8jyVLohH1MASuAIJmxbt0viOwBbVMDhJflauaHVWc\nv52buzFy/OUKdSgJYgZw9amGaM7xXxHD94w4VPT+z5izDBCL+FFAbf1F9sw9\nGRVOeLdFamCdGW3ICURKGpJ8XBIMnCXcJn3Dhc7S6+q8MU7XE3i9xRhe9LHD\nHa1dnzHVBjFlF9TzTeTnpn1Yn5YmKjBK4fnVPpgLMGlK2nhmhJDqnnmC8hkL\nADsfCRStoo8c9c213QiH1pK15kqakjWkSplhyqCziGhJw3PUXmZI9EpCzm37\nTIOHnW0ItnpJGaTI/agyKnMbiQL5eJsGJ5QHS8CVgTlkYBuDPAFuiFErJUYk\ncp108ujRWFFnrg/FrK7engbzHOXGbOUiNUFc+iIhfR4fVOmFawCh/fcG9wO2\nK0cEQKXXOnjs3+xBnIs9OEValaG1d2wr6i1R3J+2htoCfkAr3MnBsFX6gYtZ\nlP44jc+ego+2wC01F29MIcX43FhKujvGvDs8laRRTaCMru6LE8b0xms5sEcJ\nS3BolGOvEpaKMT80JyL6JdijNNw5yOOqgrJimIzzKH01oMAlT202Oh2ciRKw\nLlEDwEHTlbNxKoHICMdQ3vDzLNZgKH0906qwLAYolzNBH3EdQKsVxVOA0ujf\neLEt\r\n=pNjK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSoFiaMKUUzfePa42FfkCCJYI7roWg8vzCyTklXY02nAIga3byrjqe4mBeGGQbOX5Fk9v18BxQ6XM7AHkLcSbAqRs="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-96d4a56_1585098672524_0.2619872699329542"},"_hasShrinkwrap":false},"0.0.0-bdd61c7":{"name":"formio-sfds","version":"0.0.0-bdd61c7","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"bdd61c7322c7163f0489f91623952b7dfea53223","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-bdd61c7","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-h2MwHkqmFYCQmoSqMdURXjQ8nDNHuKghEZWcdwK319v4yrc3LyFB5nDeXN9KVc8NOKctcQGvOwmtmovD18bnQg==","shasum":"41b11390c539398a229dc4892a5165de16494a27","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-bdd61c7.tgz","fileCount":171,"unpackedSize":695408,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeerVWCRA9TVsSAnZWagAAIx4P/0t02WGUaf/o5vuF5NlJ\nbIoMKWGaP8RjYHsEMybbAxzFx9q8XUS6BQJ5Oo5gSnLJ1uFlsw5nHLn99qou\n92yGoFbYvWehRk0mxITF1gJVk6JuGU4gYAZdrU5aGNUVw+N1871wXt4daQg3\nwdAjHlwPL98UiXuwYewizlAQ4T0IkJxYpM4gRd4sVSYaVRqCz0HvuYEwuzkG\nQZSeB6OUSEaHGgh3UigqdYHlxZZ5IUST7rLeAnksEvWIwBVnQvValbCHpNAj\nDgMHUsXjJ+l673x/waDTV/VOoyUiJTZFuok01Ripmqmh8ta826k8rbLdlZtt\ndlao9x6lA0YBbxOu4B4wBPp7SHoAS82woQDIxXKysBjW36StiW0EpucnJ9KL\naTNruIu7GIKzEapZQ5OyKY8pt2AZjiIwBrCibNqF82/bzDLmKhu8AjT2cG5g\nYXZwm8N0IIhXALte8u0W0iv4HqarFEJbEtf7rCNFW0MWCIRzQXdRUh++7Jje\n8DqynAlqqu2IF1xwmqJuXXT3c/UCYkgA/Wsbgav4TNIrYPxhRW2K//ePY1mI\nvPUmxn+Ezt2pfYjF+J0+Y3ARr9JhMzIfMXe3FuaM/hDhsVcafnAqLie7y6Uu\nLWFTW6Y89IoQ7YcRj3dUfHgxYw8ebq2A7mbCa9ywH0nOlIVeKZtZ/Kdceu4d\nCCSM\r\n=4gB4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCE75LKoVboJhA0wGCjjDTFahgelDIn5noD7AO54Ae7zwIhAOpXTROtfnOqTCCi3ze1SH2pCc1AOv5qaXtYFnedfUus"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-bdd61c7_1585100117626_0.9866593388035088"},"_hasShrinkwrap":false},"0.0.0-c8acfba":{"name":"formio-sfds","version":"0.0.0-c8acfba","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"c8acfba13e902aa0981a3a2b6621c20b428952a3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c8acfba","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-QWFjY4nI/XvQN9budCwU5Ks0Jhm2cOmhYfeIQpkNIO6aqyRjO5jwtAZ1ZW0Qwwc4BtclA5runOErXt8xfVzSxQ==","shasum":"57149ef64f8490b6c847937217033f864e5116b6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c8acfba.tgz","fileCount":171,"unpackedSize":695595,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeerZgCRA9TVsSAnZWagAAPikP/jvCjB0cj6PEm53gWLB5\nzFSKrFGnbsh2COGLstUkVHDuudbxA06Rgh+dkI91AtBikCOYpy9emvC8L6+G\naUCRDqVcqJiOOvgmqKQc4UxpD89UJQu8yOGEdy8zfMzMmsYAy3gHCkgChrLd\nMY//QLwjgdHdv4Q5DGtTjcDvqKYdPkokmjMRcGUSo1Qj0oBmnK8wxb83z06g\ncWw+rO4dR8oiP4tVZKmvu45neE1xNiuPpP2iQWcWQYTi8FyneEefSPOVIKij\n8AAQwPhvzZEYjEltIQnD72YZGaBVC3hvoKITDRq9aHwYLEtd2A5R0cnupW35\nsS35GGZ3pTVzHVY1yJxLAFBDTYCeuybWbs2Ksnqk6iPCFB0LFTcOv5a4qPiM\nzIRadC/gPtWXaE3TwGkZyr+7GiQmnDdUxEnGpbcPrBhGh9hW6JlZTXwNvf9w\n7PskzJqN0mlA5m4AmSUEFHj1EnbUt/dYhxZhny7IZx/fr0X0WPIQUplkygxL\nE8hh8vkUq88huugQbK52EfGEW+uk0iJJjATG+5E7LT/u+hRKnt8tpynZ9pno\ntPHk7Ma7uBPN1x5qGFr2VKWw0GBHK/mAKE+Gk+Bv+6gOBH1e5bT2b8ll4m1O\nNyor+Lboh01D7IIhxL8XWOcK5GzVNeJEt3V/+Vq9TquE/b4WLciRWWB0kJQF\nDyDX\r\n=P1ut\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCz5UQ3TQzd4JLBwTb8qfib1hvR3sX6paHtxORC5j9lKgIgVZe/SnJ02T/MxodIPGdfyN33+VCTvPsKPqYgd4z/eFM="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c8acfba_1585100384087_0.01885421056414094"},"_hasShrinkwrap":false},"0.0.0-014cb53":{"name":"formio-sfds","version":"0.0.0-014cb53","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"014cb5373228d9e24d3160655e13f68454d2e965","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-014cb53","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-cc27wfqWNb5xw7h1obzRq5bY+v//72+IPb7+2JZyPL8rhBWtmapHQyqqZHCXEk0R+C4JLlxTo7aWWkMvZcbWjA==","shasum":"dfe1b9251212021ac0f93e24234556bb8bba660d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-014cb53.tgz","fileCount":171,"unpackedSize":699656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeereRCRA9TVsSAnZWagAAmZ8QAJgqDU8kqHpOOGChbVpZ\ne55+YUYtbExWJSttUyDeQ89NCM/mzD0DuZH2O2Kr1FPtCIiDzk30m5nyx6M5\nBHO36uet6ePn1ITFeYSwveigcstb//6643HP4EJWnOjjAxeESJlr11sTfJtH\nepl/xmMRB1GIS21a+TRF2s8o4yTEpg61uHP8zhT8Ky1p4GL+Tsua0Yojow7F\nMYJicx5zSo0+8E4FsD0Gi36VgwrJA51yThsPAZsnQJ66cjtPqq0g2/hyO3by\nzCPu0SSBtenL84HAvxeJBaKnOr7KF2BN5gDq4J7J+Hp6mn/gHvTtCYCX9Dk9\nuV/ZBXnIiXS1sVOomNuLpEoK8J98vhCnsOcAmaLsdHhgHXMpikp/ZKu+xjJJ\nso/kIgobeQJKghKYgPPJ0u2OJ6RiHKvh2F9N3Iz9hHL1DFDH+cUs0QJqGxn7\n8u8rBe+Y8VyGZrsgRul4xodDQf67GjhTtY9DKAPPLLUTPQlIHtQO/v5Xg+lD\nhUmq4mOAzCzv4Wpuo06GSU/ySn5Jmfdj8RGa7zQTZde/fDgEHv8kGF0soS7G\nJbqO6x6OQCTQ5sS+0aKA13eyQM9Oh4qNfxBMqt4iyIo1jUNfKGhd8BCQW/TJ\n5tMBdcR/CubukB6qzHdb0FbBdVmVJUxKU3uaOz7ysk0wkhvHdcOlslnEDxAp\nzA7i\r\n=ZLbh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLUC7LXnbSzMqC/hMUrEaD6Kvr98kfY2vlLzihq3LyywIhALY13dSixCAFZUz/4NPqCryZZBpbQME0tDSfNiOrn6dG"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-014cb53_1585100688954_0.8965521555642384"},"_hasShrinkwrap":false},"0.0.0-0ffbd54":{"name":"formio-sfds","version":"0.0.0-0ffbd54","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"0ffbd5475a144e0e4e747ec6ba16eb1f5a9156f1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0ffbd54","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-9QCrUhBxckpfZuEXRRxg4XSzyqKIzA8Tj/M0I6Tsv5UpFW24md9WEoRrWtBEj5NU7EubvdrBxycYAr3ivqK0sA==","shasum":"c919d7e4064b80799cc0d3a73a3f9c4e51923578","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0ffbd54.tgz","fileCount":171,"unpackedSize":699656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeerlOCRA9TVsSAnZWagAAdNwQAJIPjQf8dxTW/xHmWyZv\nWy3uw1PWV8qwE0i9KPfsMfkigS2nGgAlBMEF+zlkPJX8qR5lyfUos2sbxsfc\nGvR0hY06o3KdTv5urS6b8s03pSV/WEEnOv7EH519YOONecs3EaxsgPqNum1A\n87j/HI2jiKvNijmDYVmSerjn6PiEC6TdiyEqlWKYsf0t69/x10+IMfr3pYYH\nltxkicBbEdiSg92MPy0sMdW3AjiafTiRHQuNt+0ZFl6NiBgfhgnnOa404Zq2\n0UHVyI6n98rygxHQ+rRC87HVNmDmEe1NHftFj4j2EOJTu+ubfg1GBuPT4KUf\nOJW9hD3QWN4xnztuiz0pTt+odf4yunPc2GcM+6VqPY0q7r692lhT4NAIKC58\newkVzZ38G7CVLZLXXUco0RfVHpl9tWnnaREH6V5Q30/eEczp9ymru0Yewkbx\nH8AVTy4/80O9OtM5rsWjsUQKzqMy3IqyjnnUG+pbvgURTTUSBgkrN78ZaEUG\nKMmHTqmriCh9YoXLFH0FXJcV5fToBLax1cYzmtFX53T27ts/TgGx0uxV4LqJ\n5geUodxv0DVIQ5t8S5JOWqsIz2RqvXZ3ukxAqc3d2SMxVWLs5xhoJXrG0nEi\njsMHKMtG4ke0HDo1ndoqYZ2hwgMULKuOyp5+WlZUNOvpLYnoX7bCUORZJsu4\nqyhN\r\n=HXj8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhkJyW42uTprtdaBA4dwkji/Ds0KCYco1X+eovdhlHOwIgD44F4OygEvqe9xl8djacM+sBypo4VAa4wWeqGSlQAvY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0ffbd54_1585101133782_0.14802880364064164"},"_hasShrinkwrap":false},"1.3.0":{"name":"formio-sfds","version":"1.3.0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"44892e6c5117013ef7c381918ae2a760756ea288","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.3.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-VvTOTA8A5Uu6xYuR5LLkxhxYY/JGprZ/DMCWOi2//u55hxyRTdr7KmdJ7MpRNuusgwVScCj7Lhqxqm/186So+g==","shasum":"9eb6014d10c8c12d5320b02aa2d2010e2bf5a456","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.3.0.tgz","fileCount":171,"unpackedSize":699648,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeerrCCRA9TVsSAnZWagAAOrAP/ivC7Y/YbcY3tsS2VN6W\na2UX5uInk1u1MrySziSVONYlPHjb37kBAf8uQS0yEXJvBxqfUEWaUzIfmDDr\n+ZMkdsXcgR2LdhScpy1mvri2fRfhrpVzvGfMHM0vdnYlbVBpOz3HVlXh1c4s\nNzSm0gpymNOr0U3+fqy2r838cBBMr9WaGFU6Ia+WB6AkrUulGs1e3YgQZlJi\nC8WBub72lz+aQZbQCppSD7sA5m2h/Pt2cGNNDo4+WyiYDuEViwe860NPWjnb\nMKFHA832S7ZOQvngU5AMqaENP87SbjXgDu8S8J6QBXwr52Th5u2hjPt9lTsE\n8vJR6Vgl/xyXHagHX6+9bnfglOcypNh9ATM6RT2m/SwqED7YyqjRD+PDIoQl\nXNJHb3HSO+h3g4wY2BR328YxhbuGezcext8CMH5hwLrbLv4VdeEELQHGprMH\nCG408HGmQdU0OkSzXdjpbGQVHG/dif3PXu989A7cSYd/tkA4Rofjs0cZ5kfi\nI7nSZ24O19VA5L0E6szDOuFTIJmGkKee+2IlpRcBdB0k7J1FUJF9vd8jW5TC\nUq1wQjSrJyo5oIItyCO6hYXHHYWjFOwwRyaI5HL7TValhAMkBSOeT/lKD6xp\n2h/R54SOBdYEzJUoMxCZIh80ZbuFGjxMBBgWh373wE5RPDfb+6KRvuu40FGf\nbJJv\r\n=eFb8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzjjkJhAFtla7qM48vT6PDlx6HM0cTdUjI76LmG7TBqgIhAJn0D7ewpJ7NHUCVQJqqLq1vMKXXuf5sDwaHCyk/Xh8L"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.3.0_1585101505587_0.8585685344049065"},"_hasShrinkwrap":false},"0.0.0-f316ccd":{"name":"formio-sfds","version":"0.0.0-f316ccd","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"f316ccd087e29b14a4bb001d3d9cfc8be12c04a2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f316ccd","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-tC/euy83yAex15+UntNbk2O5lAK+Xcc8KvLAhR7ngadGOmL2ZKvoDC7yPcENPJpddjYxkWAT1nL0a0fZlH0nhA==","shasum":"964c182eb0714a557aba43dc0b9e20a5c495249c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f316ccd.tgz","fileCount":173,"unpackedSize":702218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeewtICRA9TVsSAnZWagAAGtsQAJzCqYkIPtma6Aqx5/f5\neD5gdyPOOTfCTmDKCGWt5r/LkT8JE5ijjOOzMNDbg6qdDobTQM+r98yUSyZa\nOQ/JBO40kSSP/a5bzPdYtjAl6ixtMW2UfehyM6yp0VVDPP2No3eEeDHBZJEc\nbXaUeNrF2q0osJjDGA7G6WsN8rZyh1h6HWVSl3mCz9wZ01URgILZHp7TSI2H\nhzib54IpA4euDNMKEMn49RNTwWN1/jnWq3kLM1pHU4EOyDlLMny4TDvuui6H\naiIXfm9Q93peitna/PWC3rlOu4mssJ1w0mW6OLsLSPHXX0ex0GY9XxzNqAt+\nmhb8Gy6GCvctSwJu/9Z01bDrJYye9lpirjQqaCRwhmI+hhIMUlgDHwY4rb8x\nXBGbk1yFfwakZJdSzh2b/k65kJytMVN5zB6ZkRQJIWzagP83kzG4vIcKgJe6\nR6wlhtJlcu0vV0zvL5aRAGjTFfKxsBo39BqLYLhTc6/J/kunpghNzn/SulnT\n0vLGuXOxmqexGTXQNB+PAjuWZQaE1Ux75nSasrNnUW1ocqJlfIIl/yuUV0Pg\n9xCrOnfCtcGqnkUN7S4/7l67GTy4Iaw7Ldk63kt7r1v4orfa+g6GUyiDbc8V\n6rb1RFYiXr299T1LEBUH/fM80035Jcxff6CVSRoes5NSdNJs1IEejrwM39px\npvBa\r\n=hA/W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEdhpdRrQecPRHVwQxkDv0bDixTOVeIVpq+QoIlN8ZQgAiAnzz6Cg4QZGQy2NsqTWHvLRU1OKcPNt5I/rnhaHuABfw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f316ccd_1585122119514_0.3897497149004254"},"_hasShrinkwrap":false},"0.0.0-b2c9de7":{"name":"formio-sfds","version":"0.0.0-b2c9de7","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b2c9de74ab5eb79e7022b2ae348732c343d3be20","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b2c9de7","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-gpkBVV4DnkxlBzrsQy0YKTOkawmmqy1XAtMCxNM3cpJ6sXAbQ/E1OUFqjuAD2ZLzoj71dDtekMSTomC3kESx8g==","shasum":"3b35377a88c29ef9ef4fcb4a91557ee34d5849ed","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b2c9de7.tgz","fileCount":175,"unpackedSize":707368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeybFCRA9TVsSAnZWagAAH5YP/35a/DXklfTjuozqhPA/\nK3bYP6GdWpx4PddN+KOieORkX7B1BQgL9pdPw01PUimbNrQn+CRtJ/RIV/2v\nh6a8g8gfzOEjdC6bPYYQxDvqhbXCDPz9mEJo7CLZNfe8tzacHVY31p957dIz\nKJRE8fuRvhjoBfcgnOtr6Rciyn5DBK3txC2He4qXRR+UcgFYSHflNpNeLhZ9\nKJpXyxKAk9T+oYyo0gPRUO8a2kjjYo1sfZyyqdgFCVN2owpNRPQmw/bBtqal\nj4SwOluDbRuAGhAeGoYDVUJTSnGtxe0hgEwKK4xk+/iWyZeHmVLc08Kq/fsj\ndxf4wSzuDB7KJvqWmzmDDNHNuunndxK+J9EtTBBKVR90/pN7zaQhw6ugIJuN\nn2M3Qi8i8e7mkORmp0U6dS12y9wrdLc6O7M946lNa4xDBIDT8v5Z0NJ7hs9R\nSSW8N+9IahVlGwSCUiEdXRlQg+He3I68T88zUcGMyC/Zcx65TbFkb705lwk4\nqF8SUs6Xb66qnr4Et4CQIBqg+BmUfaNVsUw8DnzCMPXuNQ2nAOb2Qc20bFy+\nBEYx0K4RGTMkekv7OBVzd/hLh5X7fRm7v5SPpdsm6qb2pJ3wdzbc9RBVAC7q\nB4lFh1jOAdqGBwXm7TYGnKyCsLUFDexeWRpJmzPm/gUVexVkzAUXfI8XtXte\nSKsz\r\n=oM4h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH+oTBhji622QJ94qsCN7HObHdb/bOmbuk3ni0RAfJ4nAiAG18RTBZYc4YjInBS8kemfsaSd+7Oc4xZWzBa5KQkF7g=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b2c9de7_1585129156847_0.21412620219242418"},"_hasShrinkwrap":false},"0.0.0-607e9e9":{"name":"formio-sfds","version":"0.0.0-607e9e9","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"607e9e9468403c186b6333aa4e4e8622936e3e9f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-607e9e9","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Ev8b/Sa+h1HJJCXlJ29PJldJ/0PMIRV0RivZ0pXWTTX0xGysJVb5xtJ9U0k7C+woSmuCGfi64DbLuVkejjFKVg==","shasum":"9ada2778b5f80519f0069eb1f2f256c82a896824","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-607e9e9.tgz","fileCount":175,"unpackedSize":707368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeykBCRA9TVsSAnZWagAA6OYQAICl6kO0Dl6VRBiT/Ol0\n/lWHC8gZSrooRx/qWQWT6WQ6DrKrJOzS0CvV1e4ODpQnsHtr+1ngX0L0LSzn\nebTVcZCHb1zzCU10P7YN+jouT1Pe31aJpPnfGv+I0XKM/oxYXyqy59TuNnGJ\nNIi9bdREuZZhu1Nr/utCQJkUJqMbCu33EURfd0AeJ2/p7gEqUpFPxpVdYpyo\nQHDndjSzmNZEexzz6f9VNdJTktikCTPre7be0OHXCou7Z57FE4JseZXl6vUV\nva5ulWzoasC2HA9PI7/ofdeJsDi7I1g5EGuZa6QyWw4S+QakC23eEkPdqPXd\nHTMED+FnmUt64MBItpiy/D7H+1yo78mLbbBS6cce7ho/1r6FJZowG+tQ7/x1\nZv83MQrGAEVpi+jcO9JP0ssjHFgnOcI/hEhmuZVdUjg8F3bIa55GQ4bTAVl+\niwNqAcWsHu5vlMFP6NTb4WG+wm6fhG8bhKru5SkhouziJzzGVJ4zhyeHbblm\nWREfN5xQN5A+RhcU2YGrKX4staKTalG9d+35ucVbeCw9Nt491v6mzniv3UFJ\n8lcfQt/uoYZP0hIeqhGg8AJaTXvDc6/SP8JKfdTBQhgSefv8vBHzJUaCUZnO\nQD75SIjDGsZSd3z7XQSMGwdNV47X8xnZ7bte3d9qjz6Qqcmy/nEW1f9tzFMe\ndTpZ\r\n=faso\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGxg6/2wTuQCWMIYNYdkkjiL6H6i74XZjw1zLa7+eJtcAiAwHM0upLfCyXymmIz47Z0EgoL3Ayi0Pmm8KrBITorIWg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-607e9e9_1585129728502_0.4390342487096941"},"_hasShrinkwrap":false},"1.4.0":{"name":"formio-sfds","version":"1.4.0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"7f6a445de58eb7fa26257299e4b01f4f89491d5a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.4.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-T6E6v2uMTHU4Gs74p2b+3l3xtzghyg6UYtVkop6j+q1ePP2SteCNd5V+Sdl+kIIy2A5sOTLXIqV/ouDuFhdQlw==","shasum":"4b70d09bf8ffb06fb411cebe6a6d788f0af07708","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.4.0.tgz","fileCount":175,"unpackedSize":707360,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJee5WJCRA9TVsSAnZWagAAd9gP/jp+mXcqroTzf0Js3KDF\nSATHC1700eU2jOyaJXKXHGWWTqleANkb1wHx0owXJZb33GtEGV8Veq6NSyPj\ntt2Xsx5s0MiYik8i0rAmdLe6wLJ7eT1/OUdn+ZGdXtkQJjciTZC5GQNftbTH\nxZJd/Eh2qwrLO/m325phr659O4VgfiUv+ZeC16s8Dj5nTNIjHHYZXxEMJh8K\nkwS67u1bzhtkm6XLvNcQ3Z+09OlELcbeHDN+T0jKeFGShWzMFyBk+oZ8c/Fh\nlNabHQqQgvXraySbW/UOX0zNvCsuHDhu9v8MDWjnrURNvEx+81QMh1yQFs9J\n2GrpWC1k+1bZi+TbsUc7TDLMBheM64DrpSq7vUns506OptHc4tqXr1OLkvTm\n5gBlGWo/M/srenBBCeM7DsKW8Qal/5yJWb6UrkpTv7IlCig3Rq6QdqcKfWSC\nSI5qsAURgnaISCmAlCiwgmKrMnRjzZjGC2Ahp6SQ3XHnY6CBxvqj2bdANT5U\n+HwU69ksY5zm7VGMJ4DIlwkmVdHPLymLKyD5DDR1ai2VLm1NZSX0T+Yns96n\nNzqgAnuavI20983W/tStui6hq8YAZz4SSYkTOMkzuIP9395MOp3B7+TzrVxR\nAwfanXj7FbG+K8+HOiaD4d5fjdm0rmbetKQ5hguhc/Oa/EAckhW76Kf9G87k\neNwq\r\n=AL9a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiFLYon0idv6O9sF4OgqTcEbV0KdSzAGTQmYE4pxZDdwIhALAJ9XABNA9BtB0mmsxuPx/wPUBkPZUnR+UQuFQG52Vf"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.4.0_1585157512844_0.4217218672571883"},"_hasShrinkwrap":false},"1.5.0-rc.8e0cff6":{"name":"formio-sfds","version":"1.5.0-rc.8e0cff6","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8e0cff65acc3193053f90419caaaa77bb698a4b1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.5.0-rc.8e0cff6","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-IobYT9pmzLTgIrqjrDRnHtDyjwDZGtXxQMSOkGXxLfXmQffdyJb4LxKQdOPDFFXPC8pOF7WUGHj5DTdE5l/qhg==","shasum":"48020bebd4a0fe1ddc4f2fbc7acc611d7dec00b9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.5.0-rc.8e0cff6.tgz","fileCount":175,"unpackedSize":710374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJee9t4CRA9TVsSAnZWagAAfeMP/2goYKufE0PPwTRogMoB\nSlFvByfTL1rnVTpAAWTI25UpRAGVA7UjIuF+SH5nmUYfj7E2t5h6c/CZIC8o\nuCXHK89QfdBfWxPio/Sqt6g8pPPLMVfpS7Xd606RYtzhBvqKFLtF+Xu+03eT\nCW4+eacMudt9QbttqC1KNVbT9DEwH2nIs5sJ3t599VfdX/oStbUv5wkvHh6r\ngosfVYUTwkeqLDO2Ft3V89O+Lzbf5UvN+fuuR+qtMp4lKTad0fEOoV09VOxI\nteSuJo2vNzTnh92ZUTbqZTYzPqFma1m2TFBkGOY5pN08Nzgdlv7alTckcuPA\n2bbnaAXVPmtkaSQz7VpoNYq8z0kX/qXXTZoeLEpTIwnN/2N6EggJT7iTr3vf\n4xVgG5X3kuJLVDqmByVqSmP+OeAVIPotUmofRl8RnWz+tmRrD2hPgoikpjcD\nPx2BtIYiuoG4DcssuP/7THj2r9e1YNkZTEvpJCUtOc/WHnTj8Hkwrr6YOr4I\nbVhJhE9jwaEYEh3lqk+dZA5pDw1gUEXVegWKa5FhpjeR4Hg7jhI5q7xTTl/k\nr+0ZuzRMrggRsrUv/LSYbTahZzUx2KXf8RYuLYbucpo3WIN3WxmfA713EMzC\nc9V7ruArxE1PxuhRqn5v2oZuToqkEPYDxruSQZwKSGM+YHzIclw+X5UfA7Vn\nFc+V\r\n=JVD6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC09AjuY78dzw/nbsrxIC119855BOR/XxGpBw1XY+yvOQIgBbEIT30TrNQeZ5r1cxuO6c3GDJGfNLs3Xvp9+OMM0sQ="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.5.0-rc.8e0cff6_1585175416297_0.4177366151478088"},"_hasShrinkwrap":false},"1.5.0-rc.558e0c0":{"name":"formio-sfds","version":"1.5.0-rc.558e0c0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"558e0c050312ddae31213c7bd02b3bd764f18177","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.5.0-rc.558e0c0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-RddrNlRDlZD5IwivzTDMng/d7ipoL+pOCBbvTNgqPbEDbLsbkr2O2iSBCPa2N/82+BHzd8zsqghBB/Po9VmV1w==","shasum":"047bfccd87be999c62f4797e08d70164c7b47aed","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.5.0-rc.558e0c0.tgz","fileCount":175,"unpackedSize":710538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJee+WpCRA9TVsSAnZWagAA7EQQAI+W00Tv4IGDrQ/kNSTr\nxVleZfrh3hve1K005Iz/qQuTDRETBuCqIhW5S/NtGTXFZKTDqqp4UN4/aAcO\nXstx4ITPyaFWFfZGpniulL2+I75wsI5VY7p5E+izytWCqoN9BC9A+0nEWwTb\n8D6I5vg1DxqvYq5zvQUBlnDH4T31xI0lNX2jM6h+GxxchUO8ZE/YeHJh+o41\nxTa5bYOgFYFBL2vQ/aZojsAcYazgIVH3Wwwbdtsyr3gzyBH3osFW7b59/qDL\n9F4tJzRKVFOAKUVZH/1FSfgn0MJniVTh7NUlM0MAIrIUXyGCj7SJEnbF3OZI\nyz4ADQNXqdmRvzxpl9Af2hOPYL22rigVeDo+91YmYA51ELq9ULid8nI2B6sv\noUKqcu2rt76TyjNu/Mv99MPDKHdT6X+WiqrZjDZ6Aqw2tGAfiJYz6s19tQwL\nNEZzMPixU9JKY2tpc80xGTbZMjS5HaF/ZtVjU4HFarSNGEmXWWNHR/Wgkxx8\nsuvoT/JmRATFCsRoEqt/aySXIHh2N8nzvpk19bLsnMtKdYMsflWFKgmCC/3c\nwaCI20avOFg8lWtMpqqNhsiCNdNCJGiz4Mfb0VChTsCd0ASzRJ/dB7SgRUNk\nMe67rfg9lxA6/6qE8/3MnqV83TyYvvUq/uArgNkArGJQj9uQSiRWWjWrvCgG\nQvkc\r\n=/FdL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHXM9ksslsYF97KRtp6CfU2TcotsS4+8Rz1HmalKKLMgAiARti8qyd5fxxP0MhTojOxSiVTJ5GxZOng3GOUh4KJT2Q=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.5.0-rc.558e0c0_1585178024645_0.2903227009082172"},"_hasShrinkwrap":false},"1.5.0-rc.bd3785c":{"name":"formio-sfds","version":"1.5.0-rc.bd3785c","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"bd3785c668119e9248dce4608423dd12819ee0a4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.5.0-rc.bd3785c","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-ELRBZYPDkzFsSd9sYuHdrFQDCtzASNIa2AuqXvcwalJnqtXqLi2atKqoS0zon0voWE+hn7M7AuSprHvnStTKYQ==","shasum":"ecbd0a14e5f0f9a91b2af826e4b3fbaf62c42c1f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.5.0-rc.bd3785c.tgz","fileCount":175,"unpackedSize":710566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJee+uKCRA9TVsSAnZWagAARHoP/AxqGTuNKVAccu4QxbHA\nrtD4HeUgBOblPIFoA0I3mF/kVT20r2TCSMhoZy5yhM0e1LNHQzkpcTKt1V/t\nyuPhUEww/iaPiWJeq7AkokAvs+XqRYEF6fS9m0mfkPqemCb3JV8CcMDuiplt\ntMshI9tNbfdZPBawlLFnlQ46/thm1SMyYiL2gpo3bMIF+6uRF1oGqjQbk7la\nZC0Ydk3an4rUM0Ugriwsjp7njJx25m+kkQKOvsyo/t37Lw+r16pvY8/tS2Oe\nTMt/jGe1bb5cuAtNgfiaJriN8WGvyi1zORUynFNpOkGCi+iWeaGr9f5tfW+p\ntKuYEjugez5Zkh7GxqfJ0Uuo7HI0B3cqfwJVBbFYJPoAflsrLn+XIemw8Uio\nAZ9Bj47NCKHM+bm2ENEj0Qckkqo5ENAB58fFZD5TnL3uuSxgJ9aTDSByLvY3\nw35H8BXlrr8riPYMQlAXRizns62d8fY/Z1S6bHGu/d3J/fzhBy/G5gYmRHdm\nD3v1mQzS15tGsdiswZNaAi8yAGS/G9QxC00p7JCX+d4gZprQjzT4xX1tZxWP\nWcYclE7loqvyvb1QmPfGJoJgBrXWHB6jEzOZWuUjrw4nZ1nF08Y60rUoZDWU\nqqQCNOtuXIHbMWqow7kVi0AOuTk9OMiajwNc0YG67d0ulhP8X556eZEpy481\nL66H\r\n=YUGH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSFNvSWUCJRI6VbobZ7bh41DDcLZgy6S+zJm0DP3iX6QIhAMBNFu+ym/magi439EcmbNqzTZmV6ovFEAl1U8ZbdlEh"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.5.0-rc.bd3785c_1585179530360_0.3221837450484406"},"_hasShrinkwrap":false},"1.5.0-rc.49a15fc":{"name":"formio-sfds","version":"1.5.0-rc.49a15fc","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"49a15fc8ecec35f734f30dec59aa83fdd0afdbae","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.5.0-rc.49a15fc","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-vt+E1LqR9gz0z7DWTAV12HxuHPlbjVdXKF9q8QaZhpf0ho5Q7AJdbBOJDfOit1dSOBeb8kbMLjw82B7RvdpjjQ==","shasum":"c845353b31588303bbefad27a8c048390b214695","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.5.0-rc.49a15fc.tgz","fileCount":175,"unpackedSize":709876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefAIICRA9TVsSAnZWagAA3TIQAJIQ0EWUaon6MB5z91ua\nzeHABWJ8HGdutj4jl0QD3CB8B0Rq7uTmPegdiis0DW70OS2xM36aQuTjNwlQ\nSp1kzStfQvjsTa6c+gD7S8B20+/1t2hiIR6/OIAvn4NdHhbRizwscr0CJwxE\nchHf0CgJPzXjzsbTDnXlPMqLQYJSqlTOH9o9ac/gU3wDkmDwnhAklPBqpCgQ\n25J3bfJMicNRXF1HY37ByTOSigEyBNRaOKG94pWKSUcW3DXI2oWHHbM8XYrm\npYkdoqzMKbOlrxEyRNVJA+FDKw3at6VOAfvMkL3qYNqnAGrkV1BzizlbMErb\n+8JwazNbMvbUBCUIMHf/BoJkKu+TV18kVFJgMJCdSvMMWE8tHAAdcopazGo+\nnMvj0+6v5tKgcAFF8GPmTrUEvnVxufjcafKKlY5KeakZ3porx7JL4v3gfi6T\nunt3qpIVoMqoiiJxIphHiFceGhlMK9szPGxQVhR4TLC6FYD+Ls3EFKGpNFxO\nhqltcFFK67seHSVyVUt3jpDon5hR0aqI7a2/FuT8/u46J1ZEldP+xhy7VUrQ\nmkjXorcgKG6yd+jIChwVtx1B/jH/YDry/r8lshf+RRq5aAwXCRkKEkIauMHI\n1cQukh30kM+LLDo4uPmPygOe7dgyTdFi2XdO6/fiqySKg7RH1TSOEAGposTG\nkTg9\r\n=wZPq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDEDIgVrWGKDOLDcTEOCM2WaSU58OcfSxyh57pmpa2uAIhAI9bmc8yvlZ8eeNGiIhJ45QIxvnRgr25G1gEks3OfuGo"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.5.0-rc.49a15fc_1585185287634_0.3704625514883726"},"_hasShrinkwrap":false},"1.5.0-rc.ebd4508":{"name":"formio-sfds","version":"1.5.0-rc.ebd4508","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ebd4508b33db720fd27abde550f9f8558d8cd13e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.5.0-rc.ebd4508","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Eh+kz4bUa+7Ab/aSfUQ06rfU5piTFOqSA++fcWYWVr3cnwaylgsLCgVbK9MsByou5KrGl9UZi7b0rwoOR2UzNw==","shasum":"56827261113585f1650fb16e1772570d99383081","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.5.0-rc.ebd4508.tgz","fileCount":175,"unpackedSize":709896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefAKaCRA9TVsSAnZWagAAYPAQAI7pvhKRbm3dxS/qxZP6\n0OuXG8LIUYDO1lOBCbDnwXNsAQkkhWqQ2Om+PB1VJJjA39ZNPg18fdTby+Xf\nuS31SLJllhTxbgVrwSEpcFc2CB4zmDxeabeD7gS9fOANOFZOaFsqZk8+wcOB\nQVmXcSs0QAVs3ZBALMAQBSv/uoqihiJmSW7VUniRpxu5QPWTHu4Q7z6kV5zn\nYqhSnEwTCwKcgC8pXMtdD2E1NLVkIETvfSnp0U2kFW02w1/Jt2TqGn9Kcy+4\nwsl16u/FakHw5OmnvonNjOReKuSJ/Po7vZ4hKYqgAbOK53eFreeeELmbbrGg\n7eX3mtkMhY5Q8Fo+f4ruSiflWJ1Qtn7rJibJ+I8K1Y1hdRro2jr/eq65CMJd\nS857Zq/Ys/h0rzzt73TyTRaz5LEq/6JtGjddH9z8oVh34R0UO+1G9aUKfEkH\nEuPfmXbcUC7DP0kXkwFrnZK8rYakXp/jLtabRuAlesxAtH3JvSvmBaXsv4VB\nrnNx8JQ8W2Ujmf8D7s3XPS5pgJlzBT2J1q0NWa2MAlSR2k2g4/SBqYpboNHG\npiBJFVJnOjpSxnrg0oazchfDVuoglKEvpTSORLiFKKVQFiv0UwV/vQ9/9N4v\nP3mk/R3uW7bO2sxV4Je0c8cKli48EDQejWRXhennX5dD4c9MdrkrmI+Z3Uf7\nEqE6\r\n=+Jrg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmcOAv1ddwDrDbW6BB6DmtQ77TwwDFLayiVjg4LxzrQwIhALZk0soV7CtOR6YFyhAQNtob0JwKfYWAJyasZ6Ns9fiX"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.5.0-rc.ebd4508_1585185433811_0.2162928664233006"},"_hasShrinkwrap":false},"1.5.0":{"name":"formio-sfds","version":"1.5.0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"43f89a85b689758d461154bb7f6fd4fd93516090","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.5.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-6LIdA5npPnbr744j5T8q6myp058M8jdvE00HiK0pqV2l1fleZobv6XuERuKzYwUPDqxR3C7NTHW5b6ypYdnqZw==","shasum":"1d3728070bacd5a96335d2b0997f1875e86807f0","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.5.0.tgz","fileCount":175,"unpackedSize":709885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefAoBCRA9TVsSAnZWagAAckcP/2w8b7POUoA/VmR1Q29m\nsSYxruuQwKoh3gcEjL2RT3JULCaxPmE/fnWFlZMcVnXp7PeXw9Ata347lrIG\n3NMDPpBh4J/uONjXszjSrU5ILbMhOtwa6yWItkUd5ZZueB4bpxrVAE5BD/VZ\nVFNHCgLFDkMlUhuN8jJBJz5WRJhs5mhZae54UpSJ7GjV9HZW1hlWpLysOeZP\nnNiStCOJOpnvdBHfOefRg4gZkplAffw48vufEhVOLFA3KpoQMALu/I+AIY2p\nql762rTKNBRHC2qF9c4tqbfU5VpAG7K9dwUG4aHdvFq3MgJik8FJ4QysTHKZ\n5HSZXaSDdErJInM+g54j0JeHIdVEGxPxN1mG3K43yxgM0yRvYn26pY7OcotP\nWwsUJx8ZvPwy01dxMrFJiDoHhN27m+A8p9w5kdDIOpbM5vadavWIM94bw7UE\n/9FgY3hbIoit9A03fiV+mwsO1tjW0kKt+FuWiriStGvlpf4sD10y0Iv/dUwz\nQGzB39aBizSuwPAsQvFzxns2X3H4raOpGjZVU4dVeu8I6VlBS6z7VxGmi1Yk\nDuCfrrKu5TdPM2VS8bqZmCL1HN4LPGDkUly5d54xSkN0HpizcAVzsOXiIAMY\n0NKaOL9MhulNNazbvTqpuQUG7vZzbfgegs2QyWPVytU/l6xYyB3E36hnQzFH\nL8ro\r\n=UcGW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFFD4+lD/KezZdX2cxZL6+MARq+iKK58Er/yOBTpVLOAAiEA9mYDkJPLQ6jmuUzFGO9XqG45ACSCnl36JWQWPo/3a0A="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.5.0_1585187329024_0.5669026759576006"},"_hasShrinkwrap":false},"1.6.0-rc.62bdffd":{"name":"formio-sfds","version":"1.6.0-rc.62bdffd","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"62bdffd820baa5985b85e9d26caf7dfd39802ce9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.6.0-rc.62bdffd","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-erPWVfDuRPKzr12MpoUxc19m34+z7rs4iubzBeHjvMy/sBeWFmlPta3a3TwoY08KpyphSNHcGtUfsvDkgHOVsQ==","shasum":"73a509bb3019bc0f965450651dde369bd8407d0a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.6.0-rc.62bdffd.tgz","fileCount":175,"unpackedSize":710190,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefC0VCRA9TVsSAnZWagAAbNgQAJVox1DtvVARXzqMt9BI\nqTdajQn7dyWVAQbiDzg970eHi2E5MMP2VqmkWh9nHeRbXy327ugjVQADv0sS\nkXeltks8qIuAw9B08TvYaMZmw+d6xM1LJugD/hD3Bwf9sBDeB//clRSIASyU\nMis25VC53+cg4/VkKcOO71UPvMBKxGYriLmo6GaNYhp08KYgxDr8YfXXq+6g\npmzs8GHhrtcxYlUNw494qIG2YeKLFZX02vMUSiBNjl7sU8r0/DStd0s3cuuy\nXZS1ohuS+3lzZVJ6bs0nLhBnC2Y3ZNMUt0NTtuEjkZ8ZpSslOxAEcn3YimAQ\nGTlgYyIRbdy4hIEhANgrtBq1rZWOrxAWu4gUl7tsLDUlQjjkmCVJyT/6KbrV\nVWxAiN9fPDMHnWDfTjg1xPvJOGgQBss5pNdUZCxAvaGH3kuas1rZMA3t/5kX\n9UdkNDKN2abLfUZAhcCW6EMVkqMBnBtxpTalOZUmjTyEonPVEPKDto44BhVN\nvkHegMnY40Pc1YYyafJZJ8u2b/Eafe2VIeEt1eehgHigYSjuVYIyb3BHjAUK\nal5HVYEgoqOPYPCa3qNE2ZbmEysHhakZDWUSdL1Ofu8AMgGb//lCZSBqXriB\nlz8H+gNhZvP7lQgdnZG+6zaupLKClKtbEhB8C/8L+Yw5pVRrrwHIO84+aaDt\n/iy+\r\n=0zdz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtJ5uHuFtx5UcPCdieOAvWrnH/TysUal6bFDH48JoOugIhAJ6Ht9YVbIRsOHmg6I5Og0sAejsFW4M4H3SMpB6kMH+J"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.6.0-rc.62bdffd_1585196309410_0.7682131083674564"},"_hasShrinkwrap":false},"1.6.0-rc.493bf94":{"name":"formio-sfds","version":"1.6.0-rc.493bf94","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"493bf94e088c1f66e6cebec79baa1b690b91a2ce","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.6.0-rc.493bf94","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-D/sn7r6swit+5VzhTy6JCsvT/3ORgCWIF1QbufikkgbmMDCBZ9jh/QrED4BAeops2hvsccRoAH7DVh1B7HEkZw==","shasum":"28ad82f894d3cdc69e457959ebb1a44e6959ca84","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.6.0-rc.493bf94.tgz","fileCount":175,"unpackedSize":710774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefFxdCRA9TVsSAnZWagAAxEIP/2BG/ttMnOunkrsEpT1P\n11m+4nSumcIu+iaXA+j+DpNhBPnk+T4nwVxfQxmdoln8NQ0vBWwR6+hrMY5n\n8eTdsm8eIq7JlSUDtZzdj7wMQepof2RDVnRTTzZohR1RGJuMW5frPQitOuQe\n4kGvV53bK2Ar5kF8RuIWsk9LwcRVZaLCy5xwhFJt501EXMHvZmTKkzN9zwKi\nk1iLgGMIQrPM5noZywZf0eQlcCO6gBgHsKsolfqzZDcLUNRAD5S9PZ5bI3Zq\nXpxPMo8EkrcVDAgt8YnJnZ43s/OuGh6JFC7zR0kLFxf8n3dZmkulToOtR11X\nx4zXLg8kFxiWMUR2mQSgUUE3PGh8YFxB+vssUMykK9OSQIDrrfmOAPjTOl5+\n4eBVOo7CLixeqi2yhB84QYhbGRqPtUBFFU1gKPrGl45wVQ+kLDMpUoZ+Qg42\nR3Iub4dSL/0Kq/qTfm7lgc53r6lscrf0V+JH7zQkqFN8naqZL21wizCQs8Jz\nb90bJxfIMKWDLxP3C2ThPyaGNUuu2Tp8gof803a7/QonWPUkTNl0ouEUpqBO\nkkasq9fqDPaeCbRWopubL9Jkny9lEe7bZc6X2mNK5UgLvPB3oL9HX5+H/LDq\n81mN42NcrBr8zVr6tys+6X+bN3E9HHmCTTqB+13NEuZoNPzJc1N6+NAaKZP1\nunBc\r\n=8kDc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFppwVr6DVmVqniVNPAUrlVaqqWYBUf3v0CIZf51MmWZAiAM89zYfPs15zR3HoT4p6hLap9SWP9tGe3eLori5jIPjw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.6.0-rc.493bf94_1585208412808_0.7942511736006066"},"_hasShrinkwrap":false},"1.6.0-rc.a7a4127":{"name":"formio-sfds","version":"1.6.0-rc.a7a4127","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a7a4127c4f83529362a0eaa4501d72d0bc7961aa","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.6.0-rc.a7a4127","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-nQ21vbpQfZQ1Au/+6xQFeX6iwpERndb25dT91A5H3yCG2KuyRaJ1sEe7OMBVL55xTwyP9h/dWyNo3pdRyZ0L3g==","shasum":"2cb0d9891c5d4284e74c48e68054c96aa5ee203b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.6.0-rc.a7a4127.tgz","fileCount":175,"unpackedSize":710913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefF9jCRA9TVsSAnZWagAATWEP/0i3s3Qi8lEi5xIuA3/F\nj9jQ1AU+/84s9LiT5aZRQ9oxD+Zl9k8EyvJZAGSVfjw4gWWNJEDA7TTexiki\nuf0+uW/TRlyP0neFM5V3VtbOptwDJ0PqfmxH9uRo5IDyvWYlxnYjaHEPe5ZK\nEPNYtXo4yxi0AjI5b/M5zki2/fXJ71AQR2Csqno/Rs8X0kO/7hHPjsxMa7SY\naqXHyKt5mi+9e0qZhDBb2Fw7Ho7MCnVVorMsOKfxKH+lQk2DP/Stlv2ryQ7E\nQJRRK/00MDBeRGnIxzITaqWOIw1fPF9CkVoiAu03fIqt+IpNHk7+k6ResPuf\nxaWCWSWCV3yuEZvi1liw8tJr8K8vTrG3X3adK6Y7kmYtZCawixTK7W3g/RYy\n+1DyaNFpxoNPCdJKCximewZJaTFR617sZw+9NhUjBjO+Niaq7aZJLiOAJ1PP\njPcY3gySz/pruaOjYPemTHMqGSJdVx7xYocdLh8FuGazbJQjPOHhpiwnLh2U\nzQuyKPY/Ys2Jiws5sLZNuzV1fkaR/bdg6jDhbgmXdM++A314hRKsGV+CGbZ3\nBK3OIAwZs/+zGrFbiDd2EUZKtTA3sgZB2D4spsEJ7sX063ZoJS85q8hqiwD+\nKAUC1HJ1yvMiUfu95OHHansLVW5/ra9U/N0RGF/LlywwdAa+XYtxxchkPbK3\n4X+Q\r\n=GN0R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFPbXapQ/zqAXHEVlBxK2ZdhdsrJIvTKSwsyW49o41wrAiEAxnoy7tH+f+pD7MAUgpMLZujJuLE27z/fhJr8VdnBbyI="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.6.0-rc.a7a4127_1585209186500_0.4815891535010499"},"_hasShrinkwrap":false},"1.6.0":{"name":"formio-sfds","version":"1.6.0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"7c7b5cfcda7a56bff4b3eda84eac16054402eb3f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.6.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-ji5rZVD1GFwma7HCLzH5HFDXrzcuUy/wEwii9Sc/r3LicjiqT0f+MR2pwOXWYdUHKLDV4H5ei3svpHdiVhn40Q==","shasum":"afa3c3cc4f6542d39e71597eac54c14afb621ede","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.6.0.tgz","fileCount":175,"unpackedSize":710902,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefF/YCRA9TVsSAnZWagAArxoP/i8dtI+ZXSicklQaFycU\nXR/NV07FKs609HRVQIHTcaSJvTnfRpdprjqBWzsKYjQhnB12gSd6LB4USRZX\nyfNK/yccpYuqguCbpGYwz3kuqxNwtKJFEG8aGx42/rkrgGTsvc5oO4z9EBBo\nId66sgNgb8fWrUGVdB3GOwtWfkmG2piD06cQ3WzRlLvLzzzxJCQWKTss1NJz\nazer00ZuoZKHkWtxX+hJYQTtT+o8SIexoNQOaxRvJRzTAAjWa4/Ey8lrfZ3b\njkpJuwGzsuj8l8Qyxzn6yHuN+Xticc2NTFXQ7hdNJAaghCmxwh7U+AUPNZPk\ndk2GHKAtCxsQrVaEAHYgaThzA3JVKMviYGYQwstBl94EZXjxuq+GOOYdGQsJ\nM3RGkDUGEOI6p31+QwihHhlUHxqZVTAdvVkUHgE6udZhosxeu4eH2Ep3LnW3\nNhPj/BMzCFWZbTcnMY8rYSqhb6/xCyJLaZ/zYDJAoE5Kwf9JXlpTXFyDHanZ\nKc57NY8uOXuwrplantH7Q/1IcScvh3Ga5yorDjhTDpI4PbffuD06yKMRAuNK\n7nWo7xY9lZyOV5O3XxdkFyNNdJE5YrbcXShSMOrj4j1cGYBCpmxCCKYj8I3C\ntZqmUO2t38T5sDUQcRYOQ84d09q5I5A3u/79mlh0in9iKA916rmXQwBag1zg\nFiyv\r\n=qdJU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB0hvJfc4NBlkpvYjqqe0ZyPAKMWSgSUc1+zGHLJGVZ2AiEAyppsxnuKtJiN/G2dB15V6ILSrvExv2AWNerZTRZjgkg="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.6.0_1585209303672_0.07051680703100871"},"_hasShrinkwrap":false},"1.6.1-rc.d748ff8":{"name":"formio-sfds","version":"1.6.1-rc.d748ff8","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d748ff851fb2f8c4589c75b3b8a73cf9cedffc94","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.6.1-rc.d748ff8","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-C4bs6G3+XXEJUumC93axv/+TX9FoxBoFbnL8w9nqqsj3sFWIU28a/q3WB3Bxh/9yCsj2peiCs44cdO4RYVQGyg==","shasum":"ffd018177b7c3a0ee8b6901199fe304282991792","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.6.1-rc.d748ff8.tgz","fileCount":175,"unpackedSize":715491,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefXfdCRA9TVsSAnZWagAAvhoP/0/I1LShAVYVZks95PCT\nBQq6Uv+uZXQIY+Pcktdv6A5btOk7auHiE1xuNVBC2Bey7tFma7e1nK/h2OPb\nDD2biGPbkFJNQyqQbXZUBFwlK78LhvIwHWrz4MTL9qYIsGaJW8jfhONe7R+K\nX2jkBlewPQu1a416ZRn3EZUi8l8Q3K3vHYCA72uNoe1c7qsAzxs6pKX9WYK0\nIaAEnjzeWQvga+im/qHZ0PWEhUgHgAE6RVlgh4X8y70U0wfidN2hfOlLZMu8\nBYG4nYTpasvCVZNnCwlpjX36LBWliOvscPiwjWpbzlCSWwqumkhFfmfjO5J4\nLsx4y9KJu9i+ImhJK7hluSrYCnur06MnoiPCF5sukc4GIJiXIHQfowXlW1q/\n7M4CwZbVihUzFUnvtdrlXqxXagER/PEfIoARllIPEKaaT0RhESsPHougsvIz\nMnNAAs2H+zt6aijgScdSb2YqiRlOQWpVGm37ZewxE6adZNhYjSNzJjO3Dokb\nzyYileQH1xxoBS2iJybTetl+yzuQXyLimengcKRZvS4zFfI9+W1zbAZZaX8Y\nDLPUcEeIcEFzd4bZCpQVBlZWX5QReDZsLuDo5/P4ckq+jFwhLBWnzBvxG+Zh\nnP3MWmSn4+8ur6jFqt42z9QFpzOW9WLI1cM5zQSyk9QhROw7LGHbbnkNBKcz\nhKgE\r\n=ImTe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRxD9ofiw3anC/A/RteL3L6YYtg/j7MJj4fCpWVSfjaQIhAMxsZ0U8IQlncwvIZddpzV8WsYwu7rSoWnrRG0qpczc5"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.6.1-rc.d748ff8_1585280988646_0.22215960070987717"},"_hasShrinkwrap":false},"1.6.1-rc.97e69f3":{"name":"formio-sfds","version":"1.6.1-rc.97e69f3","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"97e69f3d9da7fce9d313cee58559f8cafa34a52c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.6.1-rc.97e69f3","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-K00QG+y/7JNlY9BM6b7n9gNewSXJGxhrcofsgt3RjMIzFkHXCFPYSLaAleYFTRR+cYE04fA/xKaCWX1CXo7pzA==","shasum":"da5d951853cb83b4236c912ecea7da2d71afced6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.6.1-rc.97e69f3.tgz","fileCount":175,"unpackedSize":716924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefYJRCRA9TVsSAnZWagAAKUYP/0dppXfDBqjgNPNkDJPo\neXXIxaglzmbye7b71Tpzmve3m6pnH1FyQ1MsLCJGYNCFPZFD9DM1Y/URbCVe\ndzsf3nEJKwJOkd6ibUjtEgQTCB7LeqmSrveWe4XQyk4k/JMpZJCDEdWZ4Xxi\niTyNIjzDIYJMyrmjQ8tr/mU0fD2wef6c6qlf9ipLdLAhtRhbk/w8t44H6hPh\nJlksaZWUBoYISruEZRjfZxqsF9fGrmCKj11cEfX+NZjwtWgh8Mf6eyQ0hfKe\n9r2P3wCJb8o1T+RZdJRZMTi/KQ2+MMdygKTdL178lci4eKkX2zTm4nPcJU9B\n4z7+zTEVpQNdVeuQvsEvjDZP67uzpNIGTN12+IlfRe7U+I83sazBm3B2hML3\noAQmTn9HdlLYfku7OW6enqqn+CC6YFI4mB1GNY9l4UNsuUNez4UlxyvqfqU1\nJiXh+r4r1jk4dgduw6jCjuIcnAIfkhXjfYMPJnc8cii3oIgnn+n/uUBX4XSz\neexhZ6Xo4CCjh2OkB9S8duVW0JLZLUQ4Ipqmz7LSIUmWRe4ylygMSEh8B+PW\nghrfasYtRjokdi9tp/H7dGZVDV3XJ77m+AaKdlw4nEFAEDRCQppyur+iiDEs\nkEBNnzkqEKLTBY1mCS7BuLeOUALHOF1cXxVfr4dvALB85M6eaDod/aTEKG9s\nuhgN\r\n=LmGY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEWDx8BvJmi3Tcbq5/XWwqx9o7fhDMTuQqyReSfkREb0AiB7HiMwD4jbk2hUQXmMChvNzGJUtflW8M2wYwHubVyrew=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.6.1-rc.97e69f3_1585283665583_0.819023317283426"},"_hasShrinkwrap":false},"1.6.1-rc.eba727b":{"name":"formio-sfds","version":"1.6.1-rc.eba727b","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"eba727b0be3b5185eee6021250eb05834fe6962b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@1.6.1-rc.eba727b","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-BQYO3PpyEnR56VBh6WEI/+NaE/w/FU0WOUdHs80HD81CgzXdiFWHim90W9/89ZqTNNDxPhJZiQfH1uhxhnzAoQ==","shasum":"0ad0fd3cbe6c181426ce00b9d16df1c87a3c3d06","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-1.6.1-rc.eba727b.tgz","fileCount":175,"unpackedSize":716924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefi+pCRA9TVsSAnZWagAAr4AQAI9UoZGxdX+sCuYxf2cf\nMiBEBtzbl0Jc9zTFpks6VTbyqRmjB14j5DbzdpgY3BGUU23rbjmW6GvkbL1K\nVx++3kLGQyHa9pk5jdZUcmStJhtby0sCMoF8x6A+Evf+lxnLm3fVZ7uMbqvj\nSnn6CiiGblINTFuVjrDgDUOz+e/FL0Z7qEdC/YGNH+87CZ2bxAqcqeL+4pPh\ndeIQPRnPWD7SUjJCdSZLvv7rt8l4SaNMq/1nrIE2O2eVMC1+XK1fuAAUWxqM\nQxHrqg0hQbjeSShd5x/OcBRsmpInpZL9HYcEw50lGIMY7/66c612wXtvbdfW\nfOoYHurnjqOZIWSwV4FAWtx98Lnj7la8WnuIhTW88nOSwAU0v898OzHI+1mc\naU8uitAByZKnSh7ZR0eZBi3u30dgFOy5FrXKkbPmwObgw0UNsc26tfMXdI30\ntvvr2i8nqf+Vo+L45w60chuh8gjLda12oQ2qokY+sID4FqjvnhlF3ZHMCrcW\ntcxETm4JT+nCdKf/GrCUNYxEfZCxE92/SHWvWAaKERV3/52+SOGVFj3pJN+C\nfSjpHXdq4bx74RWZxwvIts3E7rO33E9d+3W/K417XRJtGUtvvpAFgnEVZl3F\nzkiMjOphHal7xfxp0DuzFGo4Lh8zroUBnlXpb3b0vH1eI43KZvcMmf9ES5IG\nw7Ci\r\n=d7Ju\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICKDY3fkjWOQzGPXaFOfOVnPp5aqiE/QsD0uxxMfczaCAiEAlq48T9b+mOTuhpBCSW6+byqc/ZBDygVbPJyE8YJmAZc="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_1.6.1-rc.eba727b_1585328040367_0.3018214306297873"},"_hasShrinkwrap":false},"2.0.0-rc.0193cb8":{"name":"formio-sfds","version":"2.0.0-rc.0193cb8","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"0193cb82134fe68e9bd5830ce4517bb03e0e80d8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@2.0.0-rc.0193cb8","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-xfKPripOuZlT8p8TzE+j9/iCktrr+JnzwhFWFg8hlOH1bkW+DQ1zbVLFNxObggwOIIeAdHbuORIbKUs7c+5haQ==","shasum":"5fa6cfb465d361ad0a8a357c69f2e358de062f1d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-2.0.0-rc.0193cb8.tgz","fileCount":175,"unpackedSize":716924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefkSgCRA9TVsSAnZWagAAe8gP/3oApojJ43qR1AeM4jj3\nWQ0w1K+ZEKfdJ5sLc6wb5Jsy8RCH+TT06wpn4S66tweKV4aIbdMCM5EWmQc7\n9ty22D8NUEYrxBhtSmUxbqRQxEtYCScR0mTW67zCfzsYKBDQJyx7adPQhByj\nvOnSB0ZKdmtIoKeW9WWAvjWjtKU7yShtjLFrrhVRV/+2imoz95msxu8fCjck\nWVz90wRlZn8ygsOLfjWjAFM1YsYjmWeDC/v9P2jxKyWO8Mq9DwKPumIfey+N\neS/DF8ZzJ9e01w72XLDv1GQnPzXpeMpk+0j6u2uFoCby6JbVQGhRbua/0I95\nlhMc9r64CzKKsDcQMdjT/JxINAx0ldyNW4MdgRE95KLGSQNw+SeGCv7Wg8g/\nx9ysXFiQDHucRNSmS5Bcs00Jxq02bZCU3Gc/ZxXjcUPx0fSAOs4o0N+5ceem\nd0zT7A9KyjvKDHOZTXj/BgDZnY+r229agAMGe4sQy2IHKmxaG6S8h1FRUcWI\nK+KmYWHjnFcrmAOh3nH0GR/Fa/vm/qVtbZLTWfmS6TlsmIZSY3+MGuShs+z8\nYvVGfH0Ho7ZoNBHtr03rPSyQgxThZgrObLNzCV1beVuctotQZ6/vHHrkJZUF\nFKLnvt/L+eH93cuZf2wyqjwR1yJ5ArBoGyn2DRVF9SU51AgJx8CRIcAWuCx+\n3xvP\r\n=TFmC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEduifcbRUcMH/v9PPe4pr3Wdnu9uwFZ72t9Kf1Ztl1uAiBDM2TEfjHK8vWcpIcpoS1pVR4WniE7wz+EexfwhYrr+Q=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_2.0.0-rc.0193cb8_1585333407467_0.06488072046823579"},"_hasShrinkwrap":false},"2.0.0":{"name":"formio-sfds","version":"2.0.0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"8978aed5435805abb099d0cd824a0d327093e0bb","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@2.0.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-EqtCA81ybcxXDziy9mWdOLBSm1AbOGMVQMMul3oCUZvcbij1qNYA3Le7V0Yr28K7inxdavayuxoyRQD8c9HnyA==","shasum":"36b98680a2e4a02c0e8091ee56df43bab53ec5e6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-2.0.0.tgz","fileCount":175,"unpackedSize":716913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefkUcCRA9TVsSAnZWagAAfCAP/1J3NwtXgRX63aQis2wb\navtfCMUr5D9ooXiKveChTn/PpNFt9b3MhNOeaFilj/XeZuWJto38HrrTvKf6\nNmy1sNpIuZbdKf8BLlAQNJlDFEvQxpRui7MrZAXkoNKNwzMyZ8svmp9gcN9J\nGVho7JwDaW4mf7SHB0Qsv3kYsJQe6is2B1cVpuSQfh/OqtwFPoaj+TrJstD1\nAAoj2xsrgfeOZ8a08j4TERmwjxCtkcsC8E2m9B4loGjf3FHfLjqfKiyRoDil\nwTZ28gHmiwWBFdASp3+4JZCWEdNjtu/6s6pPafGFoPzA7+EQb0wa66Gc3AFZ\nUsrxV9rVRCrI3eo0RJ1HcFeTz4HtFKseMk6fkGyywqaI3eQi9BIoT/gemNnn\n6wnVCf/05LA3f+RISQLnJopEOkyWjPEJbuU3QmOD8elfS5ZWaR9PfyADgHlO\nDi9kdmKUd1uQ0ku+T+pnAY3lj/W+MyTaypk8bUZ1Ly8rrCzfBd0tbEtaJWEl\nMTh0fkiv552ghsVEva9rSiQY08gMUDXF7njlqHVHVr/68/dfGc4B10loCqsS\n2q6XZ0aD4rgxgEy0m/GIjpwmfb8xwwmRBuyrbl+UFbRT4ioYSrK4/SyFBscG\nVVQJNAyqvAS7sKIqQO+OstkaCKX+yDKshj++rLLhMid8ad432R0mFxQ2dVHY\nl0gO\r\n=Q443\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBikRQAIPswlV7XZDuLWlCzAsqq0PN6gZVXCxsiyNZfZAiEAh5NzZT7deAzjOR8dVCB5MB/6kKNabqc6kuLgyLzrmv8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_2.0.0_1585333531749_0.11562356297058951"},"_hasShrinkwrap":false},"0.0.0-7a29fcc":{"name":"formio-sfds","version":"0.0.0-7a29fcc","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"7a29fcc42879da3785d777be536d67315613e176","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7a29fcc","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-0I7SUteISVKo1EmyrbpEOfYAiwoRbFoZuPJvdMG7EiFYUFXhkxAT/0xm+sbtc1qo9PsItFaVSgiFP+deXF2HyA==","shasum":"0e6f402bb0d4f982501605aab712248aa4136048","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7a29fcc.tgz","fileCount":175,"unpackedSize":719992,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeg3oBCRA9TVsSAnZWagAAVVMQAKCCzYeEibOSoVTrg7R4\n6fa9h3THDXaZT2qj6fl+eeTDIpRsSs+a/FUEdDSrIySTdhHCS3cRLlLPGh7i\n1VyR+egiMDAWI4gfxuEn65mqcllRqKDEmhKcqZbhSUd7WLwOJmmr47YYHKBS\nzOBYFizyxtOMZdDjosFnPDrt55T37ieYSvOVVe0Zm//r3bnQ3lcNHOoV21GX\nzw+594fxw0b0wee5+W92V3eu5VVHbw8/SF6+iL8GFTBY54gU3q/PTBgzZKe+\noG4qNsNk/5RR2j9aKZwVDEmq/pGdYTGLKBh075YDaMzb2NzDfrRr/U5OIFbZ\nyKp20auR+WxlRR5pUchgevDjCvein5KAL6bhloTXouhibFZULu3gOz89XiE6\noIUAwjxLG5W4u4pK1jZ2dP1/3CvEXZBRfBtBCkYx1EUcBqY22crqvp68CbTe\n90yOcG8DuXTJv+PYSfRiDiVZAQ1UkUgd/DHlngY7eDem92/068F/3hDuVQni\nCf8Rkwef5PYPmiXj/LRwJTN3Z2vs2jUwm5/GT2NSddml6KL8pa40hwD+xWgP\nHt3nRqU3OCK7DwRsyTgP27nOnxq37g9r5tbpeFUkCmzMXegu+c16Q2Z3iNBb\nIMCZHlOnjrFqoVzfWblr7q/zLRwH3poLyjqFReydZrzK+rRgMIH+BIQdQ50l\nmjAU\r\n=md/r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHPgUfzhBCldwEE+b8bqc+K/Z+1STW8oEkBv3d08/k1QAiB+TtU7Eslik5B7e29LvtrHKbiUWen3ihX1YYqdGlcsig=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7a29fcc_1585674753247_0.13637853356177998"},"_hasShrinkwrap":false},"2.1.0-rc.1c94dd2":{"name":"formio-sfds","version":"2.1.0-rc.1c94dd2","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"1c94dd28cf077808c4612d878151dd017d669062","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@2.1.0-rc.1c94dd2","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-uv4DeZCqvPvGTbsaNiQLZ3CQLJQO/St4fwGK5/SUJtXonfoD/QjuUh+vc+tQqzoZ+Mhsp8BYbIEKLrC5HxctBA==","shasum":"747b460465e67833e49e65c78d1db0809b628b64","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-2.1.0-rc.1c94dd2.tgz","fileCount":175,"unpackedSize":716924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeg3okCRA9TVsSAnZWagAAw+IP/2lgjACF9TqGMcj+9K2u\n9Zw12QCxhVydsLkeBLg38MetmIry04wKt6ChoB8PBbM4lVLRvbKHDIZFt346\nPFVOyCHWC+orHKRzIjq5wyTLuY+5PKVThXMxEMHZyP2pzyCFAzyfRC3o2E/U\n407+48NuBA9DHmGzY0Ce5DOZyDfYpZtNdC6kYj9lUFCU6aHn3QDW0a6RkyGp\nYKX42BrUSitLy5tx5pgSHh550k/lnY+a2lhXu1uxTNLfvPkzi9GL299i7T4N\n5pM5F/dpR5gyuqKT1Cm8ergJI/dZtCsrNjYmMfOxs58GvIY+ObH2hn9Xj+km\n3dRWPOfwOEDvw5JuYDvddlISjIyTksJt4T6Vj+CJ/S/Vgci3knD5UsqKIs1s\nzi26QW63ZGP1L3qc0PQj0yhSMK9KLes6SgY8LOKmu8KT6wqxgsIIuIKxhlK/\nY73WXzhgW/EMIQ1sXC/SQdbDHjOHvXU7OE731Gv1Lu56B+/QoysTsN9XPIkY\nbUtWYITI499r12/rD+16OVF8WN2jxlg0x978Y9XFgCqkZksVH9Cg7SYy1cC6\nyX08efel+4w2AWvi0d//va6qGId4E7l5xAOjkMRJqSNiKKZ3ITVZ7738+u+E\nFLkYMC07dcq42BYtXuUV3f9LrnK0wS0w0r+DMOGq6Ro9xhqPeVMD0+UkJRHl\ny/HW\r\n=yeRx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1VydlOxb6UEitZTKzjevb+jmo7TbxWPtq/KRfQb3zGwIhAI0bwVP99Fcmkie/02/BuHqoMZWM976GLQmbL66yQjZF"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_2.1.0-rc.1c94dd2_1585674787764_0.9092459742966565"},"_hasShrinkwrap":false},"0.0.0-11de8d0":{"name":"formio-sfds","version":"0.0.0-11de8d0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"11de8d039d0502918f0647c68b0d42299897cfd7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-11de8d0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-59Qs1bazhuf1bwcYxVX7v3dBH7VQ9bsnKj0m+18CdAqrIx0lGqXu8UOo61v5Wy4h0/ofvJFM8YI2aopZpR+GTw==","shasum":"a4991b4598b9add6d52da5aefade20fb552a8132","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-11de8d0.tgz","fileCount":175,"unpackedSize":720106,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeg3yhCRA9TVsSAnZWagAAO2oP/194duCEOhaEDiwjHspe\nwlWER/0CXh5F6PankElq+rDXx2HKIEvkwmA5trK1l0CqTZBQOj7uOGt9KrLH\nsgmi+LNDRzvR4o+YJkO0SgXgqdpyT7q96msabR0WQTrtEdlVoKfn1EvXAwT2\nDHzI8YzVU1E7bB4iuYChBFNAZYeRGkBiUHYCvNXVTDXnl3VfaMziqjReH9ir\ngCD6Jf4bcAsxGdzdONzfdiu6EdgUFxG4/j6rEIRmYQ2N3QoU2naRnQA5SDxI\n8Bob1O04PJWi6pBesoJg1c8R99ulBqiPjdTzMtTyVmQWMoCx0AjUpJXmtjo/\niZKgAWLusCl69AZCKb5A59Ggs5FBZ1fSM1HZCeaq6Ru22PmEMU5Gq79CI9T5\nNIIpq9SWKeNUzBUtunWf5pUVTPw8JUx1ErN4Dj7zDbOsIsn4SDvyQpLJBaNA\nhSQw1cwutANQaW/KXVv/MNB8/oQa7fVzqcNkNhb6mGDyNLAh0LygUNCGNtWC\ntyc/ex07wbmHufRZNGmIAVdTPKRVfq1Wj9xjXkVJqFL6zX9To9gffb20ESBk\nPh4wrd2OVnubT6+5BIYeSvabV6D5COFDqJkR+t2F6ftrA5Frh4aRNct1zutI\nfmObD2Qa3MsQmOnOodXf4LLfmmeC+dPG9AFzs7lFvz7Djk5bP9z1Q35nCVIe\njk0w\r\n=oGAc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+ciHNIQNLpvdfJIPz9ESWj22xxDCB6YnNF9CECVF8IgIgLrW2+HUgNhjcPmAHEdO2uZXM3XaYYanm5763PudpRyk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-11de8d0_1585675425128_0.856804979138079"},"_hasShrinkwrap":false},"0.0.0-0c79e85":{"name":"formio-sfds","version":"0.0.0-0c79e85","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"0c79e85345d80828aefde0efa218b412eca5bd73","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0c79e85","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-LkQkcYDDQ4PrMIaDcWR8rV6ccwTLwzVd/Y3/retyanHpyT+1mSbP9j5ZGbceI04k0eFZtfOGoQBa3ojvMjR5Pg==","shasum":"d956201ea4bd9a4f5d764ab1fdbb6933eb04075d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0c79e85.tgz","fileCount":175,"unpackedSize":720161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeg38BCRA9TVsSAnZWagAAq3oP/3E6RNdLAay0mp2MYcD4\n5qdbFwyRHC99c02wWrI0ODyEfrydmd4e8BGWzkpAolvyRzC+uRBj+aA1ayt7\npjavi0mvlaY5o9ANsUKiqyfohNIssKcLUwYSdHR3Y+QViVFbkyL9/iT+IN7z\nWyM+USrm53XNWjAoSsAmpMdjgpldN0pZ4IDtnbE94Fgj391NAVgqR3MFuL/F\nw+dR5FxjNobhl8p1oaDRgYZ6itY+zAnlPDDXhxgjJ8cEKC6lrhYygSxQiq1J\n696EI6475hG08oT8Vsx0/4ue9WWPTxEIUcjzm2MPud4MxI4JVeS7DNB9zDzI\nWcasXbhntSE+LBsqA7QK7uodQ+Xy3rHKG+4TT0N1WE5wF0/islw0UYX50ZF4\nVvxYHYCXmGA5y8K5XKysN2dN49SMbwAe1IYmZ4dJxaa392hGutMEOCsdv3jS\nhZSQ9V1+Y0SwmhJ46lBOVeIEJsjNUfGJGFQM2a2ZPBC9V7FQXRhR4TPltTtW\nBlyc6wN18/F1E8O2SZpR2/sWHmbvdHTL6/w+i5MJePH11kjarwTjyyLTg6BY\nfWFPwmmdbaXiqXlgLJoAPzsw8BWLk+DcS31O4Pm5SaPGQO9il4AoITV2ZPhL\nJ7WCmpklzSTaqn5KQr+xm3tSKi/qEguaFsPatrp19vJl0AowoqNdjOyKF2zF\nPH16\r\n=P9ls\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7oLuQPKwb2O0PPoG2r5zt5XmYBagFNkUgGXhlknZFNwIgHmUweIe3nAidrchi2WiMw5WVudFuuJPgIyyA/6+32vM="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0c79e85_1585676032562_0.33312818278925316"},"_hasShrinkwrap":false},"2.1.0-rc.f3cd3de":{"name":"formio-sfds","version":"2.1.0-rc.f3cd3de","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"f3cd3deae0381354ca453f30d43cdf9787c71ff2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@2.1.0-rc.f3cd3de","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-ouISrWR2At7brhg46twq9H//JALlcQiNFn/2dS/d1FyUPtBomF3JTQwMn6QcL/3KT6yUUUoz99sSYZJisKhliw==","shasum":"e2431349eeaf330586bff58c45fe28aa23aa1052","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-2.1.0-rc.f3cd3de.tgz","fileCount":175,"unpackedSize":720164,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeg39cCRA9TVsSAnZWagAAWw4P/A8SEgm2jA31LVDRHkur\nj7K+AXIpbNs8bOhDXErbxVI1UnGyEnZ3gyiP3uASXTFjgfaR6Vojp9d+fSWP\n2xqmcGj3VuZLxQd3isG6J/X+5ckT5dtBl2+RwbqKLEEVrzTykVyBK/rTMsvt\n49esNT+JmuNl/+ake6Fjbis18IDDVugTs9Fg/SRL2Oczfcf/2PGvKZuzcdEh\n3/VRqtNrj1nBdoGlmtlU00EwagNk3G3a9jLnA4GkYg2L2gfQlx+1EmvdqWoi\nQfp48XBw6IoyYPEQQKw8YfcYpPYLh6qVZp7Lc6+/+FhmUJrpbexEwR70OCAs\ns77j/LtMY48mjlwzbExNq5izODRQwEVXgbJ8SYdbNUsZWtmFcLh8Ie5QMUSh\nD9w51TCd+KR+vto0LSe+vO/rCnH5jIxbTLj8LWwqND1078nGvL4zMYq0EmyH\nGNI30s09JZkQMZXVRdGvp1AnsDbtWftDXrI/r3V39RWVNq/Y6RddsIgWNQV4\njCStck6Lq0dMy4b4F84jVfvNe/vSGZYpX5Kplan3lmymTfPJfNh/mEkP/vJc\nKhPVhnviGVFU1pgseE00/akO/1zhmCHT8VTOj/eXAW8WcyV76CA80ng60VPm\nNG5isyNKGz5kURuy/HjZorevRtudN537dUIohdtiDlibAyvyL5XQIXP8BFxV\n2HoX\r\n=dk42\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBgLKnNkbbxFEV5e/EhVb0NWL8s+rfAEKp4PbWxMNUM6AiEA4ocpyqWC3GqAHqA3vTvog3uwa/UV5P+KxvJwfYYYtLo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_2.1.0-rc.f3cd3de_1585676124324_0.5268661986905043"},"_hasShrinkwrap":false},"0.0.0-b2f183a":{"name":"formio-sfds","version":"0.0.0-b2f183a","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b2f183a3de0ea79503874c1116e041266ad9cb35","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b2f183a","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-oowLNIA17kUQFkhrZH1boNoCYPXwoBh5RKTshorNNeiO25Dq+QcyHzVnOPIatKzZT633P8DgjFc0E72y3k+1oA==","shasum":"2dea22ab17c458412983b57c8ccdf30f49cb7c8f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b2f183a.tgz","fileCount":175,"unpackedSize":756434,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeg4BbCRA9TVsSAnZWagAAAmsQAIvrzZa4N0J96Moh3Xkr\nNezBUaoKJl1SjD3spUZ1+N+URc9l/9B2yboVEt5/8NuSZOZti6nB998DYI+i\nwUrYsyR6hW2utSjuySjWoNUQV4hXASpsMfUOiAVTdDLbQUENtkhwIQWxCDTP\no8G8ju/hcUwcn8BQq1hUH0RzqSg9kR5rxHyPi8KsehQ8ZPJXPrsjLmbZantz\nWTzDixquuW6TrS8bjR8ho5x/49AwRb08eBuSV00B/j7PDlYPfHmbwoGV5+Hc\nFCmkRBnoj81oTP8VsAt395dkg4CKsvpkYcC/KeYyDiKL5af6T+5+ex46cvye\npU716Y3g54tvd0MwUc+wEOtXKjRKT+FXsczPI9G6lEZlY6IUSLT2luzrDUow\n7DwGZuLeh6xgFxMNP90Oe9kvRzbMgKlRIh2PsRKl1d5F81CzbLj3n/QlNwjh\nXwP4jA0UqXZmoF0BvKzrDVetsLGwu9LZPPOGAG8hO5XVWDJEtcnwcCgxDdGG\nXPKYSnCf70vA7H3RIvi45OjdSZPgnqayixFBKix7p9IMyBWr7SgR8vL0lRY5\n5RRT3wJ31nTfU062PN8i3fFyRZsWwAwJ29sDU0i3x3dv49AEybM0TkdD12ed\nVpdBRPNhznIQlxxC4gOi+bYM+y0kzO/egACEEBRkemYgcY6eEZPfEoO+hafU\nReA/\r\n=Wbfq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEYxGqOdxxYW3cYbw42hcw25JjeJiSIph7deSFUhKRO7AiEAtz5Bzmw6NYLLG4eo2bqzhme/bcjU50TbpY6xxYAKkiM="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b2f183a_1585676379312_0.9968627165517236"},"_hasShrinkwrap":false},"2.1.0-rc.ea3d2ae":{"name":"formio-sfds","version":"2.1.0-rc.ea3d2ae","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ea3d2aeba305c839c10996323fc3c6c01422253b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@2.1.0-rc.ea3d2ae","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-SMIYRr1yMLxmuhObxFSB3NMTGtImavV9VyAM9dNY2j/YGuZrpbQr9xhHByiF8HV9ff8A1XUkMhl8bz3QHqa4Ag==","shasum":"7a3728b53de767e69261018b33abec4e898f63bb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-2.1.0-rc.ea3d2ae.tgz","fileCount":175,"unpackedSize":759776,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeg4GMCRA9TVsSAnZWagAAck4P/2PD40amISkSgGzMxopp\nae5Itxhhr378itI0KBWT5a/gqK3T6peR0epMAkVt9YM/8g1nJ9UhH3ke0s/g\nd3fUsM6rcRr4pmnO09eEqVsr4RocnD8Wwv/PKlgDcmYVxclHhNfJg31xroyz\ncfDZBuveTzQY9v07UdanSW+e3Ag1wLA5OBWjgyPg1WceyDALYudcdPJ3CJHG\nD6q9sRUuUrxbHne7P19wuIgPYxo/vmG0lJekoMlQag+Spab+Mq/F97bn9QMY\nw6DfH+PadmeODu/C99xUM3G/erZbX6uAGfL2TNQRkRelG0j7sS15PMdfYGV1\n+aR0mDQYKjWPCe6QXVZmFnHMc4+KIh4cu4Gpr/9/ILnXpC3YVy4l18Zr/nJP\nqdkyYrW0ecWiZ34gZO+pKJyGGzV2qlPLGg4OSkLwwUuaArGgtLJhbzOTDIHE\n00gP8zhkezuyj+962ThkwbU+QCwkFtMZiEzluEGeMVXsxY3eHbrRvbGrQtZE\ncwr5PpIrG2bsq7tOGyHRp1ls5kVkXMV/9MBMZslIKXHDnlF+XrRjuW+OHyIO\ni+FUKIwvXYypu9BXbOryLtjcQoqRqa1DdxF0SCqLPt+GMLkLH2nAKaIhY5T+\nV7Wka6TUQsEdPQd2SdXUyGwo87eTT5eIc9F5ptrir9ibHi4RM37g1TiJiMur\nTO6Y\r\n=ais9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBVh4y4AhBi/t0DcqXiFI5Q98q1dyek5eMTOC7mBol58AiAaNmrW40oWqaSmQXipyGW8TzPkYWEYiLgixMrLab7iHA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_2.1.0-rc.ea3d2ae_1585676684152_0.6505537612688221"},"_hasShrinkwrap":false},"0.0.0-7fa4879":{"name":"formio-sfds","version":"0.0.0-7fa4879","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"7fa487981ac47e4fb7d71b3275a3acfd7e594f9e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7fa4879","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-62Mk6xgVyGG68W7D0RJC9vyu6FHB7SkKskIVAUVww3N0yry9949uyJGNSpT6jtqNVnedlhltc/fPrjLmiEqZWw==","shasum":"94d0d6f358f0c840d49022dd28d782d751b517fa","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7fa4879.tgz","fileCount":178,"unpackedSize":759372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehlSPCRA9TVsSAnZWagAA9OMP/3ci7CZhRIBSwp1kUUKb\npTO/KQy+H5hjto4+mVgg9jswJfL9YWXOR3jg5qJLTtw+dVSinUj11NrEBft2\nBJGVUkDZY/HYgeEIJb8rGag1dP8VLUrSh+SYQ6n/W1zQzvO03RyOLzPOC3mD\n3qJuwrNuJny0mV5Va+wRc+UN1pdLf6SHOzhpphmQg3Hn597tyuwCzvdwgrUA\nA49zCpmOa1S5MWAE83BFDFFGjpUd+HmMTwth6z4i3McI09KRJUjPv433xxFe\njqezry3tqyh+npnGCQmDLk8BSgndRcNBECVmTaCpadf0fKaQiQkjRQnBy0nS\nzNrsjZrJA/XNPCKVjmHJxgV9hu/MA6tTBXtd3hyNxqwRXYeXCvlXXkT+0GQA\nlNnkb5Cb46haLdqgNfMCfgQ9zHCFDwpjaBHsimHP/cKRP241RwF4gJ1hWT5n\n9kFenvQTdfCdKlkdTtxFLTjsOW1MLta+SX9brzDLuNLXFOSXKMKmXToVV82Z\nqd403cJaUsYGlM3Ul9PF5SbiVDIfKawniQklIDaurCJJFczmz3TEgGw051gQ\n8+HLO8ym1sJz3noFETf9gKccHv9zHbzemX06a9OtQxQfyRMY/mdw5PhdhidP\nSjNh1JA9Ycw8y+3l0F5+2xFjYKvu+XvdIZLWQLP7KVNr3GvfdxEtfqvXrpin\ndzzD\r\n=7Xcj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDi3zpabd+/aS2v+qsDYRuTpiE/JqZ4aJeIcznUNaJmlwIhAKawfeVbdTCG+41XZsHQhQx4J1IkTcI+RCEbp5MT3eJK"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7fa4879_1585861775246_0.952122600250638"},"_hasShrinkwrap":false},"0.0.0-8994f30":{"name":"formio-sfds","version":"0.0.0-8994f30","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8994f30ecdb83e9b79b09695cf513c2a17860e04","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8994f30","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-NFcueXe3/ck7BgOLk7Hy9nJ3UzmBj1y0wgEKNnhtp4mQniqD9TwUFz5G3Yvw2of7vqvOA0khDg01DStbf7IiKg==","shasum":"74946cacea8213a5b35a6079677de97156c8cb51","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8994f30.tgz","fileCount":178,"unpackedSize":758857,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehlxVCRA9TVsSAnZWagAAm5EP/2yunwaVoUHl79bEKKmR\nNLFzHKCAWRodJHJ4sxG++DxurcALPoHXTOWIw1NdQ1vY1b0xR+6i+czEYwyu\n/7HjIjRmUjW+pj+q3wbMSbjZMTU1SAmlP5YrnfuLbsDqcT6stKsmcQsAHB0C\noAAnYpkrwg3UJJWvG6DnF3mEXzngjLrhzisSOs55/VdgKqfDTuxEfStm/AmH\nGmsebZ6UFXirCzBHHh/TAIAXkIt7FFmqA4++Df3LbFNGOARbi2pV7dF42DmG\npQwyUuZSw9h8cX6SSSP8UEmyreh58H8C5g5hy83KUZmjuP5IhQ/eEctccfOF\nyhvckRLFkE9aw+5IhkVJPYIF6xB+O946QYvVKwSNY8IGtZRnOQzONmsqM/yP\nx2n5uAfXt9EyyaGjtTOmqTQZ0P8ckyFvyb+Nae+Nz10oC/2iEejK5tUebWF7\nNzmCcJCrXFrxfFv89SWHDb7kDuLBJ1G4XhVss/muyifUliRGJItjfVtUusLc\nENhjpZthmdbYM45A/iAIHDUJy8xjvmRXJQMKD9SNqT/EDiQrGU+b7B0GCGqB\nv4/LnCMDyFFqXVx348j9+4zUO7HwdAMcJPas6hmu29lb8oCu9/q9bfupsZ2m\n6iR8hYawFdjOGU4xs243uOvkahOmP/6pF9rvMPn7idz/DbhvLdmlNKQMrWNY\nc/eH\r\n=/van\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCHPeW9ug//guDsjXV2HjFgTa7xWwzdi40/Pdu81IKIgIgJUksZ/Ww9K/D3R6NKy4pkxhxDENJRgq77OPKccBcC2U="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8994f30_1585863764706_0.7709541787739591"},"_hasShrinkwrap":false},"0.0.0-2defb5c":{"name":"formio-sfds","version":"0.0.0-2defb5c","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"2defb5c6e6f7175c996bc4c18d7453b1f0588192","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2defb5c","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-cPtGeUVJwO0tp3jUGRgVzfKCFIgfXsWIDW7GhOJxiOsbLWRgq6GYdF0DrCJFldgLP12eS5s1ugsi+VWtX3S7TQ==","shasum":"960e5a70c20372a174a44099592afb834d3624f1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2defb5c.tgz","fileCount":178,"unpackedSize":753849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeh4crCRA9TVsSAnZWagAAaG4P/3tHAQKHUQyeehylHswH\n7zoLK48T/brcWnj/LmBBGAvBsqHhpZYcvMldelP0XOD7Yx/B75wF4ykE5QeW\nMwBt10wT95grmq1H1PyKjr5uiGyrlqda5V+LL0ZIWJl1HuPAAa3N6knunnoR\ndVNs/VPce71xU8xNT0tkEVHtPVh/q07Lvpn38w6XUdITle4jBezwR+XFMu1i\nP5X37wwnaDYNeyu54vHnPc9QAKLfvtVtt854WjVgEPgB47KYrbnrddDf/YqF\nJjdLRMIOFv/gGS9T0hghrujGfHvgeJwpvq1xlOrHgqGj2SJ0A+9vw2DXUTm3\nwwEFrt2Xfo4HMn4mEFX65sunsPaEeIEtoqIPas5sBl/43AhofhK0hMMcicFx\nF3FWvjdZG++fNyvOUr55xHwjvf/S8DldEZsJt9iZ62Zq2Elz9EEMFBBlEDRk\nG2UiANNo1lf/onPtC07tsU67m48Zl7fEJ1Hs6GejdZlrt6f+KEnmIUVEp7CQ\nak3JAYRHsjdqN7JNoSFs+OiPHoTneX7mBLesCLQD82sxM9/++yV5jVlp7a6N\ny53SxLqHJ2So6XrUSvtlMC9dl+/ryuceLrepKQl9tVLlVZKo9A/sXgNRrlgE\naA4V16XqnAp50603AieINnstbXhyeQ/moGwgjPf1rJSMl6W9ZAFck++vhbe1\nWa1h\r\n=xFiO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmqU4Pl7UagLil2Sxlzdwy3ZBYoqNPZr8pq7Y0PvJDDgIhAK1KUfouJ98oDEY1xBOJDPJE16qLhDVBuIow74rQwTlQ"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2defb5c_1585940266943_0.859686594266327"},"_hasShrinkwrap":false},"2.1.0-rc.4bddf6b":{"name":"formio-sfds","version":"2.1.0-rc.4bddf6b","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"4bddf6b7f0e45e59d04d922571f4fa3a329b4ae5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@2.1.0-rc.4bddf6b","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-R7ZXZPU+kxR8r2GkewNf8tyCj2BhcyKq1qpw6hoqv4E5TdUr1sFADg9q41k+enz7IadRCKF5Jrkx3st5TMBPaA==","shasum":"0d13605543be661d0a8dbf8bdf4d1eae422e825c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-2.1.0-rc.4bddf6b.tgz","fileCount":178,"unpackedSize":753852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeh5cICRA9TVsSAnZWagAAP0kP/2aqCUSvFDeDixQ4Qfb1\nkTT29QZ+UTiUAB/tA+G+06Sdx0v965Ei6V9FppquNHc6HGdvwR+OFhcR0781\njN67ScvKX1qeAB/17FJxvnQqETtBBXAvBbjqxLasUXdW/9BWpccQ3D9VPDD9\nL8dyEzKOGqnJBP253/2zsq5FUNIM7hl/RkXKxqF5Gsqc9myGUKQZEaA+GQqd\nF8UgX/mqr/Vjc4/k4D2CpAktOvAvawPeHbfjexBlRKGF7SfcTQ6UALAFwF2i\nv0bMqtChlugy/r4ms8XLqN2vKkwOk5du+dzjJb2XacQZ1o8i9hNn4WXQkKuq\n1dKMx5YmW9ZrR3Fx1JlncmL1aFwsH2RwpAFe2QXoyWS1IpcjKv7nJgqHfHIk\nzckbZUutGOT1FF3El2I9rpAhoolucHwkFJXGYkddJ7YAX8xjY4C/1BIBhMcr\nTHiOByJcynYvQTtqfpPcDTCq42NZjx8zO5aJJTdYvCGzvzSm77Ez6iUJt0hK\nbENjtH+yWM4c9ANLzyXEPxWaxXerfjaF91rW+xEKi6vlEoet4aeK6YbQ3x6E\nBqSM1jI0hXqg9PRdCjtiJqoGCgSrePZsya01WIBEZmplsq35iaphHdnGqJtp\nQgYlhKrr9e6Dl756MBmdQ+fw1Lw0bMVA9/9bwVv4+bhktnWeoL+mHKN7SL+G\n39zi\r\n=UVjL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCC7YR+a/It1dROfW0q483sy03y0layMRZN5nnmCih97AIgGPfKxVPhZZhMd+wKqpglWL3//hMt+9ScFosPPk5QDBU="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_2.1.0-rc.4bddf6b_1585944328131_0.6662355742315007"},"_hasShrinkwrap":false},"2.1.0":{"name":"formio-sfds","version":"2.1.0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"48d8bf92fd9bb099d67b108c4fe54b667c643bc1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@2.1.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-JBVlQ8fEPv5GZ65sBle9UJ7qcO2RUlaQ6hWAYWhgC9Y6LMetb8rHa3bgD+iRg+z45meAj6veuMXj/ehIa+B38A==","shasum":"22ec06d33136d6e649a72a91f961b4ba4a84db52","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-2.1.0.tgz","fileCount":178,"unpackedSize":753841,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeh5tVCRA9TVsSAnZWagAA9mYP/jUI+G/YgP0gg9xklHsX\n3kdk6FrpFUJLxZtdCJmOl6bxpGB3AsKxkYl8bX/nvygqKCEXPvAxAKHBrTg3\nao1w/RlSRnoG3QJAsXFAGgFceViQ+rI31R2p5rFRSlMZ/BD8Jc0bFaSQdk4A\nobMqi4ZBU7cTLtwb6mDkN42mkD3k6+6M25ATAETSfwhj3R0DelKsRQ4FXPUT\nyD21NFPrNB9irhWc4E+PgQ5P1NzZndhARndgpACznhHx8MrKS1s01am/4B1Y\nnaBjPV6eiapNtGglWVhy0WyLep0VaCYKKACUCpoJDcKAqgGU+vXcIFqLvzMi\nxB9mSrfZHplmBqho+kLwaoo0Piuc0xZIU9+uv8GCtu6Y62G53WnibkdAi0wL\nrTjYTLyb+d6WF4lmA5Td4z5OyEmyAHZcGWOgUwBoveHgDtxmJaxdb/HV2KQX\nY3HSdXNULGWyutvI6nZ7KJbAGkGMhPF3Un4wMogRzJgespAPU/jRGtWzuhhk\nek8HE2plpBY2j51azdPrZykRPTMmbxgYgvYQ0Vel9tp4AVRIfPSlFQey3oS9\nB1pOcmKZatlFFbGHHQiVLl5dxJUcsUAzxzKIOZkOTmNuvNBZ1WpO/7UT6K/2\nI1ohiK6QdIxg/rbGKO+pR4OdkHF6IhO4IFniNhl50QgXbC2EdGLfjYzLENPL\nXghd\r\n=eB8C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC47Bu7wi90/XUnugf5cnaNvQ/FDfv4jwELYekwGLn+tAiBTCYXHtOra1vVxGrKIZ3UR3bLQqFgqLDLnrq2/AT0rxA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_2.1.0_1585945429380_0.27733542891941343"},"_hasShrinkwrap":false},"0.0.0-61142b9":{"name":"formio-sfds","version":"0.0.0-61142b9","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"61142b99bf7e9bfb023c0e2b2952745a9471f785","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-61142b9","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-sw4Z45hvFRtGN2QjzNisLoIItYSllx1LzLwa5+FFVIoV3NT0pjjOvB9Q+K/n6GXbewbj0DzwAUtsnR5W/JPpag==","shasum":"58d565f82bf5fccce2ad082e5136299dccf9af6d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-61142b9.tgz","fileCount":180,"unpackedSize":806212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeh8e1CRA9TVsSAnZWagAA6JEP/jMMoP7yTieiqY4vJJAm\nvb0R4Mt1OGKj6FEoqlytRG+T/HmI1yohEsTggM2ixnm2soRW1VnjWnEMEPnq\npz1c5O2Th2MMMBExP4ILSvFxmx0bgFBsGviA1cz4Orh1UtwlmTmG88Mv8o+R\nFULFJ06KZrW3RyXTPNcwYOzkEPtKisgrwQCQVz9PQdXzY0fwnuZs9WPya8RC\nEUXAE6qsOBptvbcOK/cimSCvqlJ65Cg0Ih18NY8d9bOHKP1cQqdLLfMQBKQc\nwIhhDOb2dWpDgdOHZhaMoUFETylEDWoaZe/UI5iHaFISVpN6nrEq1vG8PuJi\nyL84O9bQbT9QMu+z293jcCvh8gw/FKN51YRjiHJDDCJxoVPs5updB1ZGCKCJ\nJ+ZRMq6CcI06umvehElknVzeXYiqoCuOu9747kauUE4kEClmGwCFibDA8TtN\nZgejn54f3ly61F2trFSpmSa7FRmgN1B8ESSfM9zv8UGDZlc7ojaW8mr2sy/u\nrCn0Dj15k6sH6Ntp4SQVWONn9eOO9IZ7FW13KhFN7L4yMnWMu09ERwizsWOQ\nT1b+aCEORP6ahgBHWQt6bb23F30ak+6t+DPOcEnNyYJl3EmgxDMc/Od/yIqG\n6s81fS+mYVUUXbH55Q84kkdmxXrzGj2ZaqIIDOrB+DzZeDF7npIcqQZ4kq4a\nCq2c\r\n=MSfX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgNdvPvbRvkBEUv6kRaRg5sRrGrX6hyKjpw6uWPVLy5gIhAPf53CHFae3GF+a04+IVve3TLebIbKC1wLyANsHfCn9r"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-61142b9_1585956789062_0.9603836248438866"},"_hasShrinkwrap":false},"0.0.0-86106c8":{"name":"formio-sfds","version":"0.0.0-86106c8","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"86106c8fe354997a43ba2bb8c4707fac6376af36","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-86106c8","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-OPt2f3cjp0Iugj0xOgtwMIktWwPXYVnI2iYo4CybJhQYTlqCtQE9zv0nyf7M2J2c4LWj4v3A2r8POyGatC7uoQ==","shasum":"d963350cdd855267b67e604e2f243b214a045983","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-86106c8.tgz","fileCount":181,"unpackedSize":837345,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeiEWHCRA9TVsSAnZWagAAp9UP/0+SuYWB/M8aG92QLFw/\niB7GrRkW4AmgtCJWVhgyWthOiY7+G9h11kw2SUh3G/MRnwmwBr82/3OxALt5\nwgEQ3SdCnIs7mnDNU9zSL8yAJ1UQkgCErmVmeI1hmDvY38gdq1MvFrA716xK\nLGGIt80q4Bu6SELvByhjwNyNu9vASIrBAQXB7VbcuEiHBhccOBlgxMD6cj2I\nRSnQSExoFZOxTlsApcwJ6je4INjVIocjv0aOO6XrCmDmwLws89NYKPO8A/JT\nBQa6QuWuFHDyaz+r4Nf78yduCnHlL+atoNwBHUDgH3dOXzNTnvT6fWXC4yN6\nAqArbv4JCl63r73KuwNNIYC5wRVvYj/MdyCyyFx8vKjPf5wsyjTzqgH/ybCc\nTQXt2Oowz4eOQqh+VxYCROytF0mDjFMztB54JDw7s14XlK5CJdZVFAEmN/v/\n5l7f5VQRIDieE29H1FyC2Em7r/RUF2QSVe8z4xjJ6cTLls4MV+KteXQRxTt5\nvK1oaTJ5kBKkZtDAiAQl4r1KCQcT27r78JDAH7vkC6iRFTt8E+urqfP1xKM9\nguy0wOynYPF9X2FGw7f945YJRNtG81OVNj5SvwiytdF2RQHJ1T4wzpdO/CMj\nHkswIJ6hcqMRnvYbXUWdYqwo0FQ5LTuHrzxhQKynGY9ch2P39qu2816dRecj\nznKq\r\n=Erxg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7+3tNrDoVQIamjKvvIyftVTsrUEZEGz+sjXg38iz5jQIhAOi9IVfPBHAdRQn9NjytPB8nG8/LJqzzA+t0wur1RI/I"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-86106c8_1585988998737_0.4977837128096394"},"_hasShrinkwrap":false},"0.0.0-90f4852":{"name":"formio-sfds","version":"0.0.0-90f4852","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"90f48527c701f64a122be9b6363aa2bd4e32b765","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-90f4852","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-C0wC0/rVG7+vYHkDVPuSt8FlcYyv8UJUnWvUJiBCvss4PgabBPU+bi+GwaZlLC7KQ7IPH0bBQpzDvUsXTneAOg==","shasum":"ee360d86714211a8444f1e33fdd79472d6d2990c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-90f4852.tgz","fileCount":182,"unpackedSize":912784,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeiUBHCRA9TVsSAnZWagAAiPsQAIlxYpB94WseIT0spHtv\n9QukiHdQZTEwRQUSUTYAHZICtDQ2hoB1dL8OfmSHLkLnwkOYVJl9axlcg8kr\nc8KX0fj3jM1qjuMxPlBkCxnrpHT9B00oU/dsoJLTGUzjSfPTMNvq6L9L96Hf\nFZITstK+BoL2XYhROJXepWegCfd3dkXoXX7zMGSRDoqNiGXs51H5PtEboykD\nIPdiJc5RwXO4wrBPqjPqbmjy5Ool46fz/xyu2PG2LSA1MLvDGo/H7ZOkVZX4\nHF9vAhL7dM7sky2MHCl9WOw/aa3PlsKzKM8z/kiPi72FsKAGK5iqo2SkBy4e\nbfA/bejOF4VKuuXziMRJ+4kJhAI5GX1onlFwnkkeLGZG67h4SCIBwWVo0cDt\np5Tni5m/4COkBDpRgkoSvbymMu67VhGBCeNn94/uMYYdQ4C0ZXh2Bjq1osP9\n+KceFfjlgPfCEIXoD6iw1HZLXFfEAoiSWSn0anafXngp8z5E0X0l/YE9MR+s\n2nD9VrBpR6LZF+lzOBhU5ZLUeASSS85G9Ob94WSERcUZQKoDb0e3sta4UUwN\nub5rD1tpgzy8Zx6w5bD9bzZNqV6IFlvjPdt6tgUBoZTHNCUXtFufoRZ4FR6m\nWELW8FnLJI8eAn+BVXsslgFTkSzKv6YWN7semNauj+Z8PKy3BT5/mWaoxZ18\n0qKv\r\n=cjTU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDU8DyCwOxh8vH16t7lVlfsW8Z3Lz19Hrm/YJEDxWn65QIgWQ9puikPS1Bg18hvnq3LurU8Y2ZJhWfA7GBsqAHDXaI="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-90f4852_1586053191247_0.3595243836441555"},"_hasShrinkwrap":false},"0.0.0-ad2640c":{"name":"formio-sfds","version":"0.0.0-ad2640c","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ad2640c09916e89e5998b8c71067fa1440a32c5a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ad2640c","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-JkOX8FTLtRtK8EDhiILX0FMJipzuKZVsQq7/quy0RfpOKi0zKBObB9SlFc+RU0LkYjvTi4VbQL3cs5FjjfxXlg==","shasum":"9be9be16f199c8cd8841c4b2cb81c9e9c0c54247","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ad2640c.tgz","fileCount":183,"unpackedSize":921893,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeiUUXCRA9TVsSAnZWagAAieIP/RtT0MIc1pub1O0nnQ6Q\n4H0w7uWaDxwfqR/nK6o9BWSl/t3qCtPAJie2yD7QQUVUPQCXPRQvY4QGX8qz\nruvKRs+GxizAqUICdmfkL7lPz7voLPP9UjxGQgHTRwlmamK1g5ttpaeLBbry\nhMoy0NxJfO69VC4SG4NAxa86OfAaXtiN3YXotspABh6lwBBZ0AmTllmMkRdT\n8wdVwIVqqMRw9EMPxFDPJmlCEUB4OJgxRa3q3o80uK22UwkJkzEQviN4RxGR\nitXf4fchRFB5BuQTXzbtPZCsP+yzhpEXW78Qsh66Pnnntkso0e5Ad6/8ROiw\nNG//bhwWWv3KIJ4xPgJfr6tIIJEbHjLFuxrf1Fb5GxRn6OX2qsq3Cjv1NVmu\nepb6uNhMH63hLiiZxcLkLe3oWGmgLx9+CX/8EXtfHuMztbGlN/hRx22xlYAk\nfCO63ewfHeC3w2ZiEzsjlVMGmA1/GikOAL0TGgsMBlQ9QyKClnzIuk/rEvHa\niewVUhvaER69Vh1kFVcPbLpL6zIu888zbe+YLb0lttQ8Yz6nHEYmoqErzQ/0\nLh0QCXAW94jE7N19Suzx60QhkeXmcgMAQWlOUv276ohrlrA08FnsXSxndCGy\nc5K7FnlgnC3RIarPch1eeC1jh+/jIa1XglkjN+FUSsHhurz6pJP8Nb+w5QjL\ny2zU\r\n=JnhI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuKr/5gZBRL8gDv78pIpck232mQu5wJm+GCrQjd/UDFwIgRhr8L5TT/Kf3KLaybqsLJhP65DprkWJ1v877f4sPn3o="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ad2640c_1586054423238_0.04016395798475503"},"_hasShrinkwrap":false},"0.0.0-452b231":{"name":"formio-sfds","version":"0.0.0-452b231","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"452b2313064f9808c6a2ffc431b64308d6e87b8b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-452b231","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-c16DcbIm60EK6DZEBbcGACrDBRE/y49et++QGlQlmvOnismRb9UfFvFla0PQeHyEYdZWudmQEScn8euLd9JYUg==","shasum":"311ac5480cf72390a26a6326204c00d966789fc8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-452b231.tgz","fileCount":183,"unpackedSize":922053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeiVi5CRA9TVsSAnZWagAAMaoP/ie9azY08tjMfkwWBB3Z\nC0wiOstfQi6Y+TrPPk0lUsYAtk7dPc8063dZltvElt20wnfQtBHum4bHxD4F\n1po3XtZneQazcJkD0h9yXttWROe4ti9F7M8UtLm4b87fB4pIhcU7nCBB3Fff\n5eUgf8cDSQrqxtVbRKVaDHENZ4IayGGusb98wHIg16qC05J6/svosJwEP/n+\n9BV8TxQM+I1JVOWujq2gaJinaJtwMG5ntfjZ0PzlapGa7U4LDdlh/fjwJb1L\nIhDNhHtR16VHdjSDBagjdE6W8QOJr7DzrbwYGVl7SL2up2Go8lxuuD0dIc+k\nnNcoUS1ZZJM/IZ89NAWmsGsfTBH1Z+izlMb1TeYqfuIoiny173TT+i/oSMT1\n955H9dyOYon+o/1ri6epOsZs/m3bG4a3IZlEzDejYemne4ZjJjrXUxAK3WzL\nIsBQvS1O44CRtHynYGcHsFMMxFiVNv7SVfZK+2TFj18/qPim91EbNhsqVyzj\nyLkFbXBh2MxAceHwnpJZSc0lSWCzAsIIUHK5nr+FwDMBqFk1ePfqIA+9EDjx\nBwLLKY+4lj5WpCgGm/7VNru/ougDGaHdoAmf1LdUFg8u9braSxHagRNE4jF2\nvTw6r48vGwKEh5Xm6F8LJFqLFOz7PhKUwE1u85pBHvwVKwBfQ5CumOIuf1xQ\nfm5G\r\n=HITs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjGrSme9sQ7VF71MoSGi0+NX3Ic364emK8vluaTyST0AIhAKvfXYYkeZFQwND7Qa+UB0M/B8MLL0PktaO8lGzGS3+R"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-452b231_1586059448895_0.6219108838945067"},"_hasShrinkwrap":false},"3.0.0-rc.4dbf63e":{"name":"formio-sfds","version":"3.0.0-rc.4dbf63e","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"82fba7bb8e4ce695b31ece000b080da217d0a8b3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.0-rc.4dbf63e","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-n39v6nxlFGgqZq8o3AuCKKc7C7FSDMXLtqFHTL9/vbOkdnjpQH/W4VXw5FZ1XwWJhHDECT4Kij5lNAQcqzkFXg==","shasum":"c88f1dabd3a5bdc0d6788614cc8012d811351181","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.0-rc.4dbf63e.tgz","fileCount":179,"unpackedSize":756736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeiXxTCRA9TVsSAnZWagAAtaAP/iJkXikwmIDnOC8zsZHj\nS3R9fQHjyhDd/He/iFoj0VpA6Q1V1UcnirB5a6+Kk4vQymqP1+jZ++PsdVJO\nDDoROwRks2uU4JDy6mvaDBp+AMRkJI0AaNJpK6VufTrHs2WKinCZaJpN44Pw\nrkOX3bkOCXLu7fz0fP/8kGMDMQ/deBlQbccJwLW0ocnTUwPWFmzNjxMzq/JS\nx7KGfbZfzx1bBFH4Rxtaf1ff6BjHLBoyMT7LLKm2bF6To6rg2+3M1gXJnL47\nx9R41E23EJeb6jpStTTHkDcvweac481g7b5ftSIvFFh4u4WkOGDDCI8ZxIec\n+j6D8fSwi9JnrnmwGUNwNmKddp+zf4jeMfbD3Pe7w5vLMfq0iwZ13S4mECAu\nEo1RdT6wjn50K1TOZ2ngcu0OUjg2ixFiKiw+9UzGTSu2KeWbQZlcOSWBWPkL\nf93uVEzJs05u8kWDPBP3UbOGdLbtYlE2pmU/GZzhfoP5oqnukuDxy5J2iM3v\nngRjKfjP/1/ILiTX5CF4ZE683jyu6OjCeg+5IbVX1tXFBPXG0ST02BSpuAeq\n+rg586YIljfBu48roILiBlfvdzQvfAQrMw+8bGCFyzjYlQWxkAQlGWx1EFyA\n9MjAMXHcG4Ct6/m6WaDzb4ReZm1n7zNGj4VMXsHJomFX3w2xVfrFL1h0v2p6\n4FCS\r\n=/PYd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFUL99nX8CxDMkLtc1Amt8XchT8R+VLAu1IYpCauiqmxAiEA9N9uY/uLFfFU9MbxZ1AgpeSjPLJzlyxrRq8P+9p7+uQ="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.0-rc.4dbf63e_1586068562911_0.04404804795961281"},"_hasShrinkwrap":false},"3.0.0-rc.21a636f":{"name":"formio-sfds","version":"3.0.0-rc.21a636f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"f9823342e4f48c0e032d5b4e824bb60ec8ec67ec","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.0-rc.21a636f","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-lrMazG/HXcPeZqd9r+egG+55VN8PR7qc2ZFrrhV3qZ627UtTZGUH31LN3lghKjwVaG3Cu3LomM0J9a876sbCPQ==","shasum":"31ba47c860f810197f89367d53f1eb59fa387620","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.0-rc.21a636f.tgz","fileCount":182,"unpackedSize":840232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeiX0dCRA9TVsSAnZWagAAP60P/2oEA0d+ES/tkX2F8VJ4\njC5cEuZ5oUwNyTY9KClY4ZMB104Z7J/w0zDzjkIIwFLNNu2HrzGagnfORHu0\n3SyymndpNT9l+Pk8TvGPz5Hq9TP96K6TSummb2mgR3t3JDw8GsM30KVK3mqC\noSshRmNpnILVgFQxcWq9vPARLo9Ghba3/hfalYcKB1PtEiIEYJIagYD0oarE\nC3KiY8OlE/A2OonznhVsZk8/IxWMA7sCYJxyWdmHSKQgmh3DKLXrfXmn9Pm3\n2nS5+nZDWkuO6qY1YGoIWyF83NaRIgaBYvzyYPf68pcm6B9r9JxWanbxPMZ8\nsWr/NFgvnNhG0tbjD3/Patiq7K07ct26esUO+6vbReKyQNDpf6iiSUYSnTPw\nx+m10w1a1SaJf4GDTQjXh9SNSrGvvXCw67oopqnU4WIVkQO2+Bd+mizFQ1nR\nB/GUozNtBpduqCE5H7+qy0bampLeui5pwyTeypn5exJ7CNWUh3nwPhs5j6sa\nL7TkJrgJ4oJnFSpq4ammGwiTacAeqQK+EkrG7WLl6QfrJInf3mmkj069g4Wq\nkduPm8arYf1UKLpfONw/kbDEtUS1gj6KrlU+aXVCrKYHYdmbhtux2L5c1/Qw\nOISXjyxUV9hJ/oBV4WaTgz0rGsKINe2+PW1PMZenwy2+ijNenzlYlcANqdDb\nLD1I\r\n=q8Y1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGbdRmZ+td0LPWNulL3waRqF11lYSkd0qSBKNrYXuF8tAiEA2JjfX9rX5LjJZfZMBv7sVeTSP8jDBdiVaKt6pQsasjs="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.0-rc.21a636f_1586068765115_0.5241170507191131"},"_hasShrinkwrap":false},"0.0.0-b5c6394":{"name":"formio-sfds","version":"0.0.0-b5c6394","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"afaded61d823d763922f0199a4d9e7375675198f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b5c6394","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Zw6Wpv5zx6CrGW7rY7St/F7LCuOwxrMSECktyKvZKyBein3tLS+9VEPP5/f7Lh4IcNCE1FUhqjFQdDXT46yCsQ==","shasum":"78cf39fb2995d44fba96615ada761f22a68ade33","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b5c6394.tgz","fileCount":182,"unpackedSize":841700,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeihVpCRA9TVsSAnZWagAAnZ8QAKROoj/sMLWwcULXuUaN\nnkEGEZuhH16JQQiWkn/BJjBQy4SuaAIkzRxlxXWufLqdpJk53N3cjog7Gc7N\nzDxh8iMB4V5hSf6jlOutMv2g6x51fj7lrh9IaeoJLL7A15JJ9hsWIa+Gly1W\nUgm6JGKFV45U2cdxS3gBhBGYLf5TKnXOsrUgKpTxwG75+gze5XIpqn4uOp1p\nJfwuwJcDmM/MybQknn7mVDXV2U/0UZkoXZapdJN1fSREb0Sq50rUQ6ZCoCwb\nmbq7wzR7AJloZFjQSF34bpGGUfU0qjLppOKStUXVTfXU8sLm6lYE8YprHPrg\nxucLB9YSbrLbjXzVijEP4zG+p4TcbSCdR/b/zK9bCQO5yJdc4d7pos6bUJdA\nYz69fp9+FZapxiOnUBE8wdf+GZCil2HaEm3QBdG0j3hYCScO1IbrRu/ujB0A\niPFwQUMLY53ctvePWw44qvJtan9w2oMJuwUSggz19RZuJl56800oRtzHi1NR\nP5Lw64GCMZJD+wHchoTlmZlUXKJ/vg1Lz676/LMpZ7flkvWRq7ZsTiRYwyVN\njCpzKC40tN39DkP7wYYgVKRm5uxFFUbBW17seKVIOZ5Y0PISQgqGQRNRUDaM\n3Rgyowm789KzYSNSM1os3hD4NCxeCMTquSHmNFOeEQSM/brJPESqSjO07RE1\nIIzz\r\n=2w1S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBZt+pH5hF/xet7Z5zXRF38rQB2uqNW07ZUiK0SH4eX5AiEAsQwusZ0LQOgVETajW8fXwqhERBiSJkHUAklMDPzsd58="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b5c6394_1586107753181_0.06419415832012332"},"_hasShrinkwrap":false},"3.0.0-rc.b9998f3":{"name":"formio-sfds","version":"3.0.0-rc.b9998f3","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"7809b7cf7600b7b57775b94bad5b8639f77c7279","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.0-rc.b9998f3","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-ARATivHEuW+PYMutcysaPDm+1QDn/z01QSnlSaP9EhKA+9uIM2Pk0Li/ExPK8oYaoa4uR2Wn9Iaf4LfApD6pyA==","shasum":"4bbbaeebf9f0720929037be0ca6dd90b5c003115","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.0-rc.b9998f3.tgz","fileCount":182,"unpackedSize":841703,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeihb8CRA9TVsSAnZWagAAUpEP/3nhwKu5jcgVx2dGd4XT\n0AvQt8fgUK+8YioQ4jQ6Jgq37iubG3N7/z/4tp2G3eBGpgsdTvyyqmACEwm5\nORPC6GPH4mr1/bPvwwoyJVZjKY7zKSgUNOFRskg3G551y5m/qflJq2yE1wxB\nItbY22s2aFm+kilWpTmTck10StWGULnjkLHNFsdRyQwhb5pPhYG5A7Cbyiv8\nuFwJhu7JWkFYKlZwenlktu32QlCAL/3VC8eDfOQaAhsgCDGh7Y749GAtu+M9\n7WuEtEgABY6WiBcIor6kPzF9rjeCye1BXc/yEuVBfq+Of65qgpoLvirdq5Lu\nrTaHxhFLyrXNq6GElVkSMPe7k05Ucsp/0KJjTQ4PXkq/GLjk8jBXShS+1q83\n00Cwhcmw+XnYFgM4Dz3BX6qkTECD7XZqsscCHYt5CP9Daz9eNkLojRGXQj6N\nYZVrFhIarwNI4caUcgjUNbMnr/CifFNlha7B80/tgvHrm4lIb0z3md+Dt9UT\nPiceIkvmNnF6NERnPzbrQ6vXeTLfCglofU/mMVeWpLX4PXcy9xQ3JGyRIdFO\n+8a/oVGKW9/bKWAeu0VM6aMOujOD5FlKJXVvmpzErrF9oFKZo8Jdso66A7HE\nXQGtb3O7gX2KjAL6Jjkh29/CkNrJcgWLFCcaPd6RnQV1UtIm8TesoHR0CSAJ\nZb+X\r\n=/Wzg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3lasMZ4JyrFrSA/bnu4FY6Bvt0utZVguuGpDkh2b+JQIhAI2AQ8wsXWoKDJF8JaKp8nd2Wom+lXhWivM68/BLd+MH"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.0-rc.b9998f3_1586108156392_0.8768859405650025"},"_hasShrinkwrap":false},"3.0.0":{"name":"formio-sfds","version":"3.0.0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"6cafa1d3374003f66919aed1fb8bef2e033b10dd","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-B7J32c621E6crgfS2XZDilcjLqYRgWEX287/8sYF7Ea7GEHZYm4uyT5Np1/KBa1rfL+HJF0kCp4pc+KONNqnOg==","shasum":"67636d23bee380efdcfd28fc1645fb76b49e7615","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.0.tgz","fileCount":182,"unpackedSize":841692,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeihdjCRA9TVsSAnZWagAA7asP/1KbnJqSKfPLPtqNyRQP\nw+5ZrOlA3Vw01nRPtTJIeqoHazEog4gN6lBLDbN99yD3AWNtlw7eD0zamQ+W\nLRvotO8rZqxxdOMhsAxaRbvP08h5CTkB+yFgkul+QDu7HFzfnR+64xXSuwEy\nPeUWFkFIEVwJCgfWLyzPwMGlot8mHLpnbxY5pXAQsUHFYyU0p8nOhFXKJ/AK\nebyinOdprTseOl3EAuqaZwQTmeAqr9CtEK57/XSX1zPSg+P1kM7gpRzpGgcd\nw9nK69GLPTvp8a0qNRSLAJ02XzLKL+an8Hzh5FzvsCfWDivurUZUdCshZqNv\nnukzzDHzkYG3zuqmE4kt/bqy0AR8dbK1anRmXi6B6hJ83irxbI43YqBSHjR6\nad/ErwNNe8FWXPcV6SXa1o0Zwn8Xz5LVipc22Zz4ACPWMmBe4wPkgBwPuV+J\niAlnwoLFplH3zY7wKoaZ4Hop0aMmEHhfMTC4hXdiqZlAHV7iTMb1wKUXKY5K\nweW/2CzPwbXTpQ1i5jttygjjwgPM/OqkyqNb3VOUfo2aHSEtWzAAMukVYzct\nDTwCUIW1qAlsyoBGbuF8qtOCU4muCInuzk9TmpEB8QKi2+QMSasldF/amd4K\njUpwN7OJd2bpbW9430rPHiOgCMWtT0m0+Kjg4omRtpk1sXb6T9Ja0rDTxt5m\n/MJ/\r\n=CJJb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBZ12cU0fk7EoRmKQicSlR6/PMJDppzVcuus06jYY2AQIhAKmAEJ+E2aiReusQlAucn1f+pj6lyX/WEAY45X3GitJL"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.0_1586108258807_0.2761968380174047"},"_hasShrinkwrap":false},"0.0.0-723d0f6":{"name":"formio-sfds","version":"0.0.0-723d0f6","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[form.io] templates for the SF Design System\n\n## Usage\n\n### HTML\nBrowsers will need the UMD bundle, which exports the theme to a global `FormioSFDS` object. First, load both the `formiojs` and `formio-sfds` bundles from your CDN of choice, e.g. [unpkg]:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n```\n\nThen, either in a deferred script or on window `load`, tell Formio to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\n\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"723d0f6f7244dc0e1cdb24e344f4eb6d8a629cb2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-723d0f6","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-3x/s+ulBFCq/cU7HC11wdF50My7rDqckGQENiZbLbEW7zqIfWeGm43y67yC5jSiG4rMtOh58exbb4ZyWrZQxVA==","shasum":"1039eb01947a8c08774e5c1540a66007a329188d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-723d0f6.tgz","fileCount":185,"unpackedSize":936906,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeinMWCRA9TVsSAnZWagAAzekP/2UA2AU8Az6uwjBkWYrS\n9CR0osALWpCg4uioa54JmTH3k9JHjCTCGetvR4mmi75Pv2StDht7E5EYx/lH\nJGgxiKcOHHz7Xe9/JAJ/sohVhOeJxtyj8DShn0qQNdlVmhCUVh4Wxp6vRIFI\np7z3yaWKjeLXbgoLj6KzlZwhY7ZCTywYN3DHAr2l3HwSsnI8+n88bWuw1uJ6\n+tozp6mLSfTeDm3TnTdmKbl7scTkWlxlvZB1lNoCAuN+gle2A5LSbT1hy5uu\nguUP36JlygMHPDEu91lo8zHVtMIXnp+7zzcrEWxb4Vq1HA+KZMWIukVWDoBQ\nqvqnZc3PTsaDbm48AJ49s3qb1VnTKkATXWAfxVl1JFJCsguMcJAcpoM0ZOQj\nh86lNFTccVEYmaAebbnaRomJfKHRWd1RnHJKXMTg3oorSVgbfnDbmQTtUo2u\nerONJ25hjqfKDuZsEJzUfpKYtpBlo3HQUa07d2BtSW/bYnz/bzLhXwOxwiRN\nuzYDGnCs9A7vahPjrJprOFkHrrx3owJ4okOoQUDkg9qCCOpfFjENx7ukq7Dp\nAMRuRWINnvzE/spav9z8xXkZGZrpodG5TP8rGnEGEYU7H1ASCVjwhBbp8E6j\n3+ubMSOTiqd5IA+JvH7pYQUGcSIcjdA5bNPiXhvfgDfanuHTLUPBFEULNUdS\nLh/H\r\n=WsMz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDxNQHVVG/YHEDc0iYNVOBAqZL4O7HkUkMFiSBPD85vAIhAKiSuzj7uWOzp6tZ9LP5mIYGnaw9i3MNMKTW7WrvJsSi"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-723d0f6_1586131734005_0.19530004787141997"},"_hasShrinkwrap":false},"0.0.0-a18b1b2":{"name":"formio-sfds","version":"0.0.0-a18b1b2","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"5cb55250dd369ca7bf957c3cdf1bacb05c09d871","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a18b1b2","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-elqtY9wFUQJSVVVs4LEpIFdq1k+iCL8O5g/u7wSbgIyrO6hm155ZKkAlR9I3O1OIHaR6WF7TL/vO1Agf/+w+gQ==","shasum":"c84c3f8d14b1c386475ac2504185cca5ae2313d6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a18b1b2.tgz","fileCount":186,"unpackedSize":941417,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeinOYCRA9TVsSAnZWagAAc1cP+wbK7WQSkHHoWyci5O76\ny3YSWD4p6BOo+lBkVA4HLpp8SJZ+GJyt3ZW12pqwH6YrKOaOg0BwGN2yubA3\nFk/ZQbCvOyBpOMu3Fix3Fzy0bW3/pMMoTQZIvsWZbRwGfi34/vD1FUJsfoqh\nHW24D4gh7T03EGwMjiRjXWHB1K5xn71rkVxtZJj92EKstnUw0LXoGQEWfhHU\nP+M0Oc/6qowTwEyEas6WJZ6B74/aPhMAmYRhJ7vkGk44rXe304VAl/03HKwk\nCK+oXA57okJAlEKExo0s8mq64uHSww72TKk+4byc8ZdvPZWJDJApG69lCc8F\niS8OiaA2rTWQ7DfuWyt55xHzO3Qq8Yq0aCNM9fORh1ilsNPlaQAmaLA4/ArW\ndDxKnBn6NBQq+1Rv5/LjGICpNh3XZ5HMtk9PPR5JWzbmpbpjNkZgTVjKmgB0\nWagMnSCXxDTPaeiruZ1t+0tNgbdASefWWWUOz7UZkRekbNtYjJQ/ar4YwlcX\nVKG8WbcArpZGBn40glkBkZeEjtDBZUxYuxJtxtwDoF32SwCNyYZPFBmgUsf6\nH/ugDJ1ScHmywv92rUOFeNhELzw8B9pH/xxZ68C+D0h7BWuHt4cG/oioEihI\n4q9uSNbQ2LepTRKJ7WL8N2k46BQg7ZgI+FdAblqP1Ey1FLJc22CZKnxvsCF8\nSDaq\r\n=3T1R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvE9+wOCXqmy/U0s3kNnG9mCJqVgMnKgUYsKlDnJJpHgIgdCAhznrE57eq8DDAutP871YPENLpm4tLSqqMCj1p2bA="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a18b1b2_1586131864026_0.873472824367566"},"_hasShrinkwrap":false},"0.0.0-bd91b03":{"name":"formio-sfds","version":"0.0.0-bd91b03","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b4378430a33c6dc33a207d91249a48d0dec836e7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-bd91b03","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-mXIhUJ9lxshebJyQLkq5Ked65XbUxAezNsJxcg29GsNKn/dFZ7WV0I5uC4fueIj4RObegeeKplyQYPrKWVXGtA==","shasum":"f5d0c4ea6acfb46d2018240fc859641d31514f70","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-bd91b03.tgz","fileCount":187,"unpackedSize":941461,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeipM+CRA9TVsSAnZWagAAXl0P/A6SnmlNkz3RrHreT+Eb\nOnPBznrbXgDLtGrBpOPc+k8I1D02I+XKPpXdM9qNYeMwyE8ZyaKcK3RwBLzB\nAL1HePQVRAYu8jQwhe+ite1yQ6LJK8zvhOf1lfI21tjC6B5/Pk3rnGgYJkVu\nXeYYD+tRhMPZAmRvkix964/n4jtsvnTapwtWYjw/96J0PPM468dYIXb4NPA9\nocfjetF1/vYTg4NItfPDWE1NNUn8zjm3sX229GXLfl/YMR16zDVTAdag6BKm\nuBJ884W9sLjkuj//uQWyOCUvlBarTEVZ2dGRc8t1sCVNubIzivJbAjkW8wTg\n6tA0qSiSpM/Xf+Y9gN9mtCKUyu3lB6hFK5WUzdKhovE9y8l2VTT1xAG6NBEq\nRp2ajs7JGYIHUJg2evBPnlvRjFUDPhi/xkUzSdNFWoZfZrB2tXSEvNzQxVPI\n8CLP1ae15V8vYN56MXbccNtKrmO19r+PuWkoiTl8k42Xv3T6jLlMtLYwg6P0\nNR7xpaHo3HUqTwB0cIbuMkf2TYeCSz5Zu7WAh4tG9iP4NYI9m4E7QBQ6mrJH\nM1li6CL8hktnejvrbJFq7IQaLFefwUUQ15s4uhiSHmb8XvYGHa+nHaU8NJJr\nmAUV2vE7dCkiKwEZXwnJdvQMIJKCr5kXScq9HdRVojCifBYophB6708AfH3u\nUHsB\r\n=WVE7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPz4ful8X/2I67SGDoxrXuq/vpr7SRRfPwojmrExtLbQIhAKJWUpJOzBjD7Y4/TtzumTDyl++dVqXKPVEQtE0+TZ76"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-bd91b03_1586139965996_0.7893496408797567"},"_hasShrinkwrap":false},"0.0.0-1eed238":{"name":"formio-sfds","version":"0.0.0-1eed238","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"3bdfd7247682bf0a12523a1ada0d222726eb1a95","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1eed238","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-5JBMnbQHLeHdTR9X7jq7y3FjNHh2GlyN2aLvvoXNu1EzM2pAMaWbPS2prdqKh/J9KgDKVVOyF7pgR4Kgw6xWyA==","shasum":"f7239f26e200d9ff9be30e6cae5800ff8c4b432e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1eed238.tgz","fileCount":190,"unpackedSize":927086,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeit5xCRA9TVsSAnZWagAALFoP/1nlIygClBB22aIYKjO6\nhnlasyG+HSlQ2tVZEEJpCiNVmfDEeFOzYY/6qNqc8Tg4ggH4jv2tMku08mWD\ng6/Zt3AOHa0juTtWrl+6RDGd2OUw2fDRgwtYXASJhCdNAdKubUWgHfhVpkrF\nC2tjBE1lBhRnlG/7+t6JeixlHYxzPnkGKa3farqUaeUoY3VB/QWZtnmBK/VZ\npSAMP6Ntz6FzYKHzqT/yJpFczGJKsNHBjgkUC1rHJPdf3+SAuWVI/WI30nfx\n2N3ZMLsGLsY9ffk2KyE2It3+kgO6FryzsUdhGWfRLE1Ije2NNWOHEAcNaBvB\nG8yczLYl0bTruZZY2Ig7yQlTwM1tsGFaDay9FRDG+ou640ZLbtpjdGkW5OyH\nveZM3deUk9THTH96zu/EoA8CwSHv0yeh4KZ2c/+VG5TZHChkwjZjRGjPb2A6\n3/OyCIFGHTv34bjuMNCdcbvprjVA5Z0mtDczfJyJpcyOjFlnP5DRXVjDZ9kw\n34+mqDFIR71j0euTB6YaVK0Jc8M1lv+ZkEEB5ebN5FD9mj/1Ptlk7TdNjpBs\nWl5JzcftfZs12RvSji6nIcNijaoid8e7NBs9Ebd4bygfsIWLQnaZMczJKznZ\nxD5fkzeOzwj2psQRqMnNI/g17gqBUD71GHNstSW905VzZkHU2/pA9e3CKNpe\nEAme\r\n=d4Uy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICxEDZnMKLQ0JoKp/MD6eYvhiSqymG/dZdqK5nSrnrCIAiA3JkdkFFyJnUdDwTrYBjbgzb3fJy3vo2DsuT2XBkVmww=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1eed238_1586159216676_0.591194984318582"},"_hasShrinkwrap":false},"0.0.0-5a0a8b6":{"name":"formio-sfds","version":"0.0.0-5a0a8b6","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"92e552cd8f99f8dd00614338a585554d03adbc4e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5a0a8b6","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-nVGOWZB5zUvdR1YkR+pQ1f/PW+aGGyNmR1B+KjtK/cTK+udKN15+XuPxAi4cGMDrY7xFA2yasAFO0mqu2smMVA==","shasum":"808c638c28142f2885e58aa20b50b58c8f21ccde","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5a0a8b6.tgz","fileCount":190,"unpackedSize":927439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeiuTJCRA9TVsSAnZWagAA2d0P/2YiMGVTg/3yx/yGNTLG\nyZqFeAi2NeeX2mB7D+J927QruK2FK0IKP0zFUdmwSZ5panBH+zgh64CfYQ+j\nxD4y4rCicai3c/DaeOwfpf+A8ltOO78bXbV9WhxW1vQNm823AQgottBzNgLT\nkHOEpCGxbklFpreSL3qRIrbqShFiM2dCIQ6/AnOi+7jye0Uw/ay0/h4JYoj9\ncoqq7d+oXUUHiS8QY+R0JZ/AKrz38CMkICcuq8UYXznJSmEeqoSlAcnaUMWH\nJv5eCFL3A9+9FB4YGN0BMkihY2w2uEMnZOKV1IQgA1uNPSZuN9+wWQ8Vs6P0\nhARbWwaaGdXN3LMGs2XT+leeib2kWQJRJ3ODOAT1hRAAyLZtoB/eaoJjjdIW\n7jr5hnmUpf7OO8CcJCI7USjHKmTmRtMsX+gRRgvS7LFykhwCb1I4QRHeQFeL\n0vydFh2CBqvDNgkjATsGRJTWXimM1nF6EVpEJ0RWItSRAsOyxpM3pZUBar6G\n/P/+Y7nNLgK7e362Jo7w+Ea34DWMr8nWE0KrGkREUuSQwY2m2Kpozrw7N4H+\nTqBeWV7SMGwXoTfkHRWqLGSfRWRNl/PQtlvpDLoNwe0gJ1GiZT/VRxLiQ6mE\ngQKVDOuQDGi0lN8+Q+4C/PXcpV44EcxtgZXhfBGGXpQRZobz45/8L97JAIHb\nmQCR\r\n=i8T+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDi4YLv7ZvSdWpPi2BglR/tNXwkNeM3JycfhEWQAra1/AIhALZupFULeiF+QNxFgF5ALHglDkJi5/Dt3FRviWr0vk95"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5a0a8b6_1586160840727_0.8574779963246633"},"_hasShrinkwrap":false},"0.0.0-9751ae5":{"name":"formio-sfds","version":"0.0.0-9751ae5","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"3526b5c39c5939155ab93404b39ff0d3c6960401","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9751ae5","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-QRBVD5cARDIAaSrM2bDT7dk4WWxL2S3mppnzWfQl/je6vTsy8s2M5k+ZRhq8hvkS0vfIOLSncqZrb3A2PCyE9A==","shasum":"77d92d102c609b9acb08646182a10ebad3d4baed","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9751ae5.tgz","fileCount":190,"unpackedSize":928718,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei2Y3CRA9TVsSAnZWagAAS4sP/jVdrkHt3bro0zEgOZu1\ndn0+WBTjaWeCOdVh00jtPrJKAcWD+7Xytvv6t5WRkS2lzkLNGIwu+wu9Z5BI\nWZmjdtH0KKwIe7p3pgA7QAswkgU2IYNdpadFeo2iC4jiN8Zwr5boM0JOWel6\nczwRj9A5nNolABetvIioO2H+yCFGWmJJuLkyhShEC5HfFi97JinF2ZSqBbx8\nvecv/TN1ds8QoNFjeOK3uPCt03tcc5tB70/YAdVFOycHu/TFqDHYODy/jINx\nZmCVrpK7dtTK42+kYSxMORvEH6w5Fo9IKIHYADOA8AtKe1nB9ugelTgJHKsq\nAJjnQNiGYZ/HiZGwBUoRqbOV7ZdhyZDCeVqXcI8Y9n230RdV3RFLSRKcAnB+\nxYn5znj2h3KzmZzPb39ubSfAyE2uwTCj1LYWva/EEkHN7ezOwBtS/FjFMmbI\n3TfqqKc9DUTg2JlckrmG9+muCimwkpGhGIPcV+UKZjeBTMWXC/sKZwLCuN9B\nYaKLccArhufqvfZG2Y3lu95pGBtAjduIRwBpmxj5Dn0/1bB2pryjebVPxJy2\nZqYMjvwe7xoR2w/Ru5x9C2yFTYTmh2DWstzUnv/zC1h4K7IDOg4mpLD6p7o5\njYVbIRFTWiDSrqaqEEFNc8iw204VGctUc2mnZNquTx1ik+n+pqjPwXIAvqdO\nUm8m\r\n=woFW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkl9V4QgYaL7smjCVDlHNULrWUE5HQ05V/GL7dPx+PqQIgSxmFUNjckCvp53KL3kGD/FEb7V19dKYJJ6Km8dYW3yA="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9751ae5_1586193975210_0.6050313572945638"},"_hasShrinkwrap":false},"0.0.0-ab2227f":{"name":"formio-sfds","version":"0.0.0-ab2227f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"4ecb737e1cd05f36ae2aa9762d4105807b4a7d42","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ab2227f","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-NRveJ/THUsZW0nxGOsglJNA8RJEXyD9Gy6Hpfsa+x8KNplt5eMro1AsJS0LBMEPyU+JyDbLyQ0PS9XZBZFLnzg==","shasum":"223d4943a2add7943cb53b6ea8701ec10645a098","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ab2227f.tgz","fileCount":190,"unpackedSize":929137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei2l1CRA9TVsSAnZWagAABjYP+wUaQqX3xpnMhfHQfM/7\n+LxBz8DKzqjUA9aEeyHHnyn1mx+U3Jh2ctmVvweM+JPivttYE2NJmsfl69NA\nVDv129pUbUhFvHcMKCKjMd47XfmcETe0+1qOXhJTUCBLk2xhA+moMbwm3gdI\nAUtnZBBwLyVKdvAdt1kqBD83ImFOuSYbmx1EHoE3nfTQJobpXH5q0ddOMJUE\nQH1KEl1YqZXDDm65bo9fhfAZQkOv424opRwvuyKekQb7RjPvPqaLeEFaOe1L\nAYE0BvPeinby5dE/C4v2d73/v05fO2xefjKc1LdAA9G/1BhNO19U/6qHg3am\nQVIP+Dv8qNSbOG6Xr1TBXvcnWGEKJzfaUbr9WA3fHCgBIE9STcPwP7NFkYU7\npRhRPX4ZKRiVHatYwBkC+OlLRS8hbmccIPO0Ar5qgOEfM/U5l+yTciwXxeq6\njJ5jNhqf4Ka+8U1f/ncBDZjku8HY9yVb0zMWI7oNOsfVFr11rVCLDgPP3PCX\nTf0u+wPz+C0KFbudriMCw+f3y0hSiDAN0yDsLXSCW/1YBoJxYfclBhHhnqoZ\nZ3AQOZ7bvtmi0SmiuHF7cnBhsK3RYWtcXBJRdo7wmZAi6eYqTAJryJL/Is4L\n9uzbPTLqibjvXitzOhFJUVqdTKtdrHbrE9bXXe/dd2N3nO8q8lu1MTUtT4HG\niF1C\r\n=W1ye\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBKQLUNy3JTaOUjuobiwG85qpPQHldVnIggMejRSr3/HAiEAxhDcABdt/Aq4kbAxxCbF2y4a6cnb5sPRVaZKqm1Xm7M="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ab2227f_1586194804706_0.7321078076201373"},"_hasShrinkwrap":false},"0.0.0-127d591":{"name":"formio-sfds","version":"0.0.0-127d591","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"c3c20ceee3233bf6681da6cecbd04ce3620443f2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-127d591","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-SzFhizkqq2ATLVi0JLw3phl0Y4MZty4QMWbAHAhcXJ0QhPSmFPRzuXLJSyPS1HMtYaNrI/yJIxPEo6V9dbtFuA==","shasum":"900400366ce9ee2a04fe4e41f5eb23cb96a1c499","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-127d591.tgz","fileCount":190,"unpackedSize":929349,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei2sECRA9TVsSAnZWagAACTgP/AkzvPPGE34i7wnHHIwc\n2/4ytROCSg5p+U8Sz5nOFX9PFOPrsc8kmd+QzzDYnfuTUceU++0GLFswiGXn\nRdC5C0mgPa2Sa4p/hQVMiyexrAOUf8ZlqnUYTInLVE1EAUt9/kZxBaclpHte\nRbtLg5zquHv7ypva/Kvx4pR8U4A0h275kPkHOTYTP+e1QQzxzQL/x53bVjXU\n5LgL+EB/bFHt69w2iCvurjeF0xzC1b6I9ijy/WzlvmlFgbgD6y343cVsal//\nO6xP38Mpf9Tfu50ydgIQ9S+WCFoRCnw14pMRNGowJiSwKCT7bw812XFLxPZa\nSxV0e/DX5zS8TshmH3+OYxWa7hGG3J9u14Tn5Oc11Vz0KAjHhW6TJvrUn9K0\nKoxkfIaZAMTqjMB7zA8hMj54cBMA8F/wFWe7yiazuspqpIXuAeEgW6mJmPqC\nSytjkUg3qRnsc52AH9/1UN05Z02hdBmlTN2tt+0gBL3myHuCo0GatDy0Y0i5\nD/c2yN1bEXV/6ebWyWAuOcGczzringc43ULEqcjha5i8ut1T9sjwofK7yMHO\npoAp6xyCeg1Mw4uhiniPNtb/KVy/gGAEHRzb+VuvnPw+4o71IuGAF8WIJWcO\nll1jYHsTrmHaUpkskDdybkIU+fGg9oD/EZ9Y4lUuW2GrXglEb1F/ROR64vHH\nNpN6\r\n=rF4p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4uVkxWrFKNpdU4QkB5NpVfOyD1+p+ouFdu59YO9BQogIhANzLvdHyGoZhHkt54RKofFRJ89LNl5dVe4G5gNq3ECCw"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-127d591_1586195203961_0.010941843013817731"},"_hasShrinkwrap":false},"0.0.0-f2baadb":{"name":"formio-sfds","version":"0.0.0-f2baadb","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"465d82512bf82bfa7c152264a018fb8468bebd43","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f2baadb","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Rt8vOndwnrWFj9W5z+xDn848965yshYooUOSRqsw6R7B+vflhJMMyGkvw6f56wbZUUmBLt9o0zDtDHWW+pM4EQ==","shasum":"51eeaad1109f4d7abef1b806622cf485a245d4bd","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f2baadb.tgz","fileCount":190,"unpackedSize":929011,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei4bBCRA9TVsSAnZWagAAXBgP/Rw1yJ1pzzK4ZnHIvaXe\naH1ozzo8GwfJz6B8aiPJQ5w8SsfvPpL4200H1mKLsZWly6YLq4+TixchjSYl\nuSSFL0PJu3PFAmI0a6477Gb3J0XtPhFyLLmguPoAUQdoHlXefM1hu4uBYeqG\n/laTVcts7Xg8IJofXZy80JP1nFOEc65o2OkVebpnWFewXFDE4vh4b/SZcF+B\nVCUQ4bnlPVaq+SMIvfgLd2Q9nLUIYgyt4WyBzoKLni4Np7TMa8GhzYBjkEdh\ngHC+5BrsYpTv9tq0V0E++oD94EN3vwwq1UrT3rgcAUKqz85gsTWrib+U2ho5\nHzK50TQbJYM5P+4f5V6/W97z1A8P9iCsZbCe3ZP9uqSCxv1Ta+H5j3WuoDNE\nwe74nANICB7bgRaOgEFyI82dlFnK4llJ2JPWAknEld0o/1ezH/eS49mmf0op\nV26tjup8ZC8A/m/sB+gqMo9vuRWJUEqec/xgLMQ1naZS4UEb3YaArXyBm0Vu\nqJpuvwAAjC7F8czsvzRgVmOuOqh9jTbed1k4xMQ9feW7X+HLQwGmfFI5QwF0\nRavx4/G/o/HpO92Igf7gx3JtdcyI8AIj0qioSbwzitX+LkGXQwRs4WZcmKqZ\nK8DN1PT0uPZLJeFtyOe9yjMxqx1xzV3NWQHSmmSOCfrz89tl6hKJWX6qzsz8\n0iNy\r\n=0uCE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC48yp1OoRYe+T6VOFIIpFYuVrFcDD3zXrlSNvqY5Q31AiAlzctDodLbJMELQeNTsxgvXNTEnf3NYUB3fjqgbslU+Q=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f2baadb_1586202305001_0.7994156240657178"},"_hasShrinkwrap":false},"0.0.0-54918f6":{"name":"formio-sfds","version":"0.0.0-54918f6","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"598ba8920c448fd79c8e7b5d01b0d739097df7b4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-54918f6","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Sfyc3FsD4kyid0G6nHaZu7+heYPtp8x4IGziOT/yPGS2Tow3Ka6Rrkc/ftRaKMiu4kxoj8ZFzInXikCQKPqWUA==","shasum":"680a6975323239fc6f75096901865a688744ce01","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-54918f6.tgz","fileCount":190,"unpackedSize":929591,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei4nqCRA9TVsSAnZWagAATaMP+QDet03Nqre6fS6nYL79\n90RJkNtyoZHK8vqg/qcBZ6+vwxFbdnDjIiHXNMc5zFMwZRLmQwv+UN9+8cLg\nWMxhughJRa8wTLGT1UTeWK7t9504UWqz83m1fWhimLVhRF140epBJBBko5t7\ny6ax1HLJsI2HkFfJRUYyaC+tvnW7r3x/IQTseL5N5rwQqJSitvzePH7gLw9q\nxJTvXSGKZYKN5pv9z4D2vAYZ4JMFJatdXN8IwlqAjWcdoB+dGa7eowiz+0y5\n0Lvk+w9IYm0Hel0/JlIJtnEAhJbwC/IOLNRRQTGHDyiwh0ay3L2+tAI8IBF8\n34MLjn7NUfjSSJ2tThjbex0Fq6IoFGLix3Do/Qf8U2Ak3l0+QrPuGazoEVcN\nA8akGVGCRwfAyJpUeDHvB+tMNv4+CqLq+QXxAhSH/K+PeqX0dzSE6oyw3lb0\nXwj0B318HXBuzSV8YVbu/kYhQbiOOtT/fh4GSCIEmt1+oBfi5mMA1ca4TZhl\nFfp6sMepZbxGVBjJ1fSHz8iHiDnScD81XgArgnnnmWfL8zSQ0gUf8FL4/j6j\nKol8YO7Wb8Wn5WNjwHth+1VEoSczWQZ36DQcedA+54dmjl1zUJMCoS9mdjuX\nNm0Y73aOgwRXFwDbrFMTxVKaWO2vILaUGDOFx955RwyIE5iX0rl2bCbsbL/J\nr5Ih\r\n=n0LS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDG5sx7HM05Ap0JjHfD89qBxfVJYMMy/4UifRcvWCL4AIhAM+TwoEiXx14tjfBOPkgigJwTqyNBdaJUYRzW1HjT3KU"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-54918f6_1586203113549_0.9972194180238021"},"_hasShrinkwrap":false},"0.0.0-00689c2":{"name":"formio-sfds","version":"0.0.0-00689c2","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"dd8b5391b6cde5601c7eea604f4075d68b122789","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-00689c2","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-vvF4Nf2pET41+7fZ6wHgb1g/eJwNXh69PLrPTnAiTN9sXwXJeDDULIvKWtPcBbI4Ypx2GGghRM65mIOo9KtAvw==","shasum":"cf68cd615f5666dccb4a9f78783e5c1f4f1278f5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-00689c2.tgz","fileCount":190,"unpackedSize":940039,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei/oPCRA9TVsSAnZWagAAO1cP/ROP8sjfY7vFJ+YdZ3vp\n4fqSJ7UPrk3Uhbauf1eOOn5JQhw1pXfVBcI/gj0+Mfhs+7b1Z72RP8LkKw5A\nMNqk23eByp7/2AlP0MhDi1QKX8+TkxPSNnqXu8lVE0K9kXLaNNYJsxcfP368\nwplncu5Po8liW1Jv7R0W1qJx7vksxw5a1jxU0yS1hfLUyQ6xTvasPXMpuHyw\nBAwkaUPHdUXQV0uo2yMaYfvItUANU1PeVhK0SJA2V2Rn5fk7V3P6BNNAX/+v\nFoxpjXeKmqpQpRF4I7Rq9I1IWb3jw6xkOP1O6pYtw5BJFOB2sRHqvLl1K5AK\ngsnFNDHShOTqSBRjXeSvqkoKGdXBii+uUKJo0wjqMiGPJnIXQgbXyU4e99Fr\njQCapLnNx0RUS5G81mESA6hHf2A3j+SZYbWy+QIwOTCXKExhUyOkTVQHrELH\ngYhIAEfsn//x/iCNeX2nRGjID8GkhwEh+08mH8a4npPtxvGiemn5avZ19jeI\nPOXH/E3Qzut3LgVF/Pj93ML8B/HNujmA+6ZLZ+XjrrR+UhZ5Zp76ImYZIEi9\nPBpVaF5+o2fb+XGxlcBJwwoNTDU8Sj15wqoCK5hzh6RPe71c4n6YQG25EubH\n0c1jniRglus9+wlaIXQQieacCiQ4TGZYiFXfDYj09kupIEuB3yawrCbBXPRm\nH0lj\r\n=VqRH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDmARJQgKCR/k5YFG2/eRStLwbVCwZwg2FkrlBRnF7OnAiEA1N4GAfduwiXfNwOndrJkAGgkYWEOaA3setlKTl8GrCk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-00689c2_1586231822427_0.22532658919099835"},"_hasShrinkwrap":false},"0.0.0-bbe707e":{"name":"formio-sfds","version":"0.0.0-bbe707e","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"dd220e21f974e53b11a27c62f8c81dbe1e245951","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-bbe707e","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-RMoAv6lTJQL3M3UoetgDcgOANlUbkzChSldsQugV5ojyNMYn5s74HeAhWywX7Cl5A+M7cj30hF5J855e1vzgxQ==","shasum":"2b7aaac4e1e24ab96253a9a7950736f15885df30","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-bbe707e.tgz","fileCount":190,"unpackedSize":939986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejAB0CRA9TVsSAnZWagAAfawQAI8TvZodp9nBoxKN4dF3\n/p7sawgHFt9vLS/MhoOZDCQdQcEGlCP3iYVxSlBEPlFAfYjzUlZMF5Zuj0ZJ\nXHs7YomUw7O2a9Q2S8iulTiFHZxh/ONvANoGq/K8Y4SyW1V5YeuVl+IBpNcx\n4cbwn1Cy8sO5sRrDNTl6yNnNShfohXpNyVGJgf+4SKjG5dFin9sqs1HodcN9\n+nJTA8NpvT6+avUU0YvaArFn88K7wzJ6hQ4xF0jS2YaraOcixm3Mbg2Hw5ds\npHeGL0iwgodv+FcsAbqs0rDQoYt9iZ2jJOhDb4Rx2Rc80S9/rw6REnzOOKjH\nAC171DH6S7JVWXKehJ4xTFhkHSajsJeR/t9AonWIwATy8M59IoJW3knf8tA6\nADxuKxbKkNge6lO69IE7lBHYuLQYzzMu9H++b4bDOSj0p9YiZUvPU2tLjnSB\nNJ2skjvYzoTXLbEB0A/15Ph3IuDhKyrsT/An/BS4YO2o41IBOpdnCq/3nSjz\n7gFaK1+U5o3uU5I1nh+SvROEITmESFfJMER0y6TfEkQUWY7GpXpdgJZ+Ej6k\nvTVFN+PhVKUPRwvaQSsEqTAbMQzqkd1ZphOTTS1UJuPqW508VKY5jjK/fuNR\nvnhUAxql9FDf0qIP4emp+5dZVUNMd48/MlO3zETTOqYPBOqkzoVyy331MHkP\n2r13\r\n=HoY6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIArnTy9uWs0bGDSWn+c3hDj5fNes3U8QfZQnO061UDAHAiAqg1nMNhJ1Y6QPWahf388k7m7G8wX9yosEqqKsykUz2g=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-bbe707e_1586233459666_0.7052347226872482"},"_hasShrinkwrap":false},"3.0.1-rc.5c4790c":{"name":"formio-sfds","version":"3.0.1-rc.5c4790c","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"461db90e5635a3aa0815292ab3e70bb329b30d2a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.1-rc.5c4790c","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-SiRZ6vJ3LlKQtVN/2FtvyhE0DlPDJNSb3VHECVxD9xxO3inFoFsn151kiXA+vR8j0ziNzRUAoDR4MihYswNaUQ==","shasum":"faad6b49aefc0470aa0abf5e727c9e0f4c9b020e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.1-rc.5c4790c.tgz","fileCount":182,"unpackedSize":995476,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejQxoCRA9TVsSAnZWagAAvz8QAJ5Bo8DfHLewyNqpvJgq\noJHQ+M/x1+1ACuEjHkg75t+PfGf9MKLmN7LshfVcnPy+H/Ydfc3le9IjTN4y\nPIQPaBJR+sIg+6y/Ppp/w+9To78EiYh4OnYLfJGopuN47/miRjK0+/A7EJ25\nFJh5lQHKssKZIsFGauPOm+7QvcRk3nPpbZkS4kZO6re0RufbzYJgyLvUCxu7\nzylMTrz44ZdJz4pVmNFXP5jt46NSQanZQurTUvM3dSLC5ys9ad1nxCzwq5ab\nkqrc/JJFWUbB97GmhRkzUt3b1pTs5qKtINDJIr0ivnxAIfgLrgK5H5JeKDjO\nOuoaPrPIPcKvDJD39V5UmtW5bovqT129gy4lozRPCM4Y2/EkkUKtzTTIVH9N\nGrXX9lDd6efHwP7YNw/wghyvkYN/24haVn9LX1amQNtT/Sck1kN+tAX5yHpB\nZqiU2iJFnh/SyJrE9S40m7bLyC6W85XsN4oQeKZWgl2hM1mZV3uRBxyBIhUQ\n1FZ9OJqyzNPjARRI1xtcEkMXvB5Ir3/+hRzhLNH0NyX6neJejcEy6CgzeDVd\nT/W4xvuneksZhpjAzfMjcodg8MCxjWQydU6ntMiKA3AcxDugBiJFrjkC22Wd\njPFQJ5DdVsoSkWxdQTL0Ng58y51fmPGYsFmPMc3ayq9Hc4C3dbVsS9fL95RC\nUoJk\r\n=HCiU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID16BQmYpi8g12KxgeIMYo3kPPM4KfO5MSK6QhAru6mBAiA7KSjZ7YAQ7JPXpHQF4YkC9hI3iooeFMorMk6kTVDqnQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.1-rc.5c4790c_1586302055359_0.8856164470307222"},"_hasShrinkwrap":false},"3.0.1-rc.a60753e":{"name":"formio-sfds","version":"3.0.1-rc.a60753e","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"0f0c903b456ea9e1577cacd719d2b6eb889de265","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.1-rc.a60753e","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-dxSrV86DJQnBLdjnqmLZ5mlfQBBOhXolrylTWwEt/ogj0IX40C0a1oUunjQ+233veYHMBF9xy42Iv/Mb9bWa4w==","shasum":"56f3a961b60840442b0ce987e097fe9845e218aa","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.1-rc.a60753e.tgz","fileCount":182,"unpackedSize":995684,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej1F7CRA9TVsSAnZWagAAEYYQAIvfP3L1GWKqX04L0WvL\niRHOF1VG1VqgAsK2erfRUlPF8tdwgQdvpW04hnCo8csoZEv5KAtv2rK7R719\nNtz0kcSDTsiKM3tUGnJKYA7WD34BDNUyv9sIg8zgud3Nj3QI2IgWafGBKn3g\nJqYgXKgPIxWaI77EchYCBYTAXBTWR8mgaW9b3xW6fcXQ0UePf4+XQ+a/jsUz\n/gLsxn4asyNLW1Sj6/wOuQZIspENcHde+cFcGEM+38joyDaFkQEJYdJcJorh\nt0zTO/ZTxyAywIOcpwoD/FXATTZMORjzXmqkpYJN2r91YHzmDbiRbLqV6ylj\n8ZgOOwuDXg3cK0dZtOAhZMP64d001EIqP6bnoTm0RGEgCfTwN6Ee/S8P5/7S\nzXebftvojTKv07zIX/h6ykofn7BQOGbhZ6Z9RSC6m1AdImqrXxk8mNzHemdb\nJn+yBEtdcJja8UFzBtKGUzFi8RGBB35yW9I+Z0zctG5r2jxYQJ4XaBUyn1j1\nA3e0/0mey4BkNyGC5Ys59RGZl4FymjyVbhAEaBfZg3LDdrzCbebSzXfbmKbY\nQIspCmfiqDIWl78EIrUj7DvqEuqZB30F3yqIZ0xvLSuSE24gyJqnB85PhWYC\n0LxV+XdTIncMSEt4TrZwUnYuBkThz2vAqlg+nnmyBaXcJevoaGiZqu3oEQyS\nN3Vu\r\n=bYnU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJTVOPEi7gFNMXlvlVUJCGUzrQAcIl4nXChellkrN8hwIhAJx0/ZYfiztxuazI7u3CT66o3JgGTWs0INtHwKb4jdcR"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.1-rc.a60753e_1586450810542_0.6583391925740474"},"_hasShrinkwrap":false},"3.0.1-rc.31bac07":{"name":"formio-sfds","version":"3.0.1-rc.31bac07","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b5eb6053f1d6b3f821b4e1117485039eaa7117a6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.1-rc.31bac07","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-VSWKeyY5InTXiP+TxVZDO/nAnvpcRBFzYkpZ9I9DcN+mUD1ewaWSagX+sdxhE5isNSsUlHawxdOJ1unjdik/9Q==","shasum":"4851d68171d330d523cd26e30c901b8ca78a56d9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.1-rc.31bac07.tgz","fileCount":182,"unpackedSize":1001091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej17jCRA9TVsSAnZWagAA5EMQAJidcmiY4HGf8EjwpgAa\nxIHhcOFq39CdgEn9u1pvwaDUbKhMW1db5O4KwFkltLPg5BEBOEcsGhEaLi/I\nWhG929fniJEG7G0AA6a6K0lBNJglNKPzRSlTxiXdKJUJJWithsrAMijPgrmM\n7aQQuoHExu+iyH9ZKao5uIqFjM8mfKyxADjFF+0jAsz5QqMA9T7/l4fgt1Yo\nCoXGzWA6he26E99zKNDBGHzWUrpIQa1ppfXqyrAZSo3ivb9DU3q/ZRSuycHN\nQkTI1UpAb0eU8Wnj3alz07YHHOWmLGHo1wJTPpQBxNVbqqtlrzYxt6LtIf4s\nNhG05n9LtB2AQicVW2hejM/GswihClruPyI60BOc7bjCi1Lh85qPbDazwbMi\nWjUqwc1qdzZ+regPqDiw2mDa3jtoMLy8tkFEQ6kWhAbxJgEMckuMq92Scf/2\nhnbbNsG0RK9h9J0U886Zih/HylvY9Laf2pQFeugdT2AVSkqvBNVOKhqpNFI2\nn6VZLJ6E+eWOCmTzXgSmU67/wFCw7cYTSxDRQgv6CQ3GcUQsq05lptJuPIHi\n1lHnHmUHPYLWp0tJ//kFfNz5bVMY7dN6JBU8SiJ60lVuklvCRMVG7Vp7VhtN\nTS3NtrJ3sYKuHwdmep6wby9jQsRC8DguL2h9cbq0llXYKsPfoHjtK1b2Ti18\njJUc\r\n=SjZp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICa2rLf3d6z2lqZgJtQPgI8VQeb5VcAfmLml8tyRhqj4AiA6vC37cAZpO1XcIvI7AIzya7ZeTzRhehDoqfvfxBpSyw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.1-rc.31bac07_1586454243226_0.7586595946912693"},"_hasShrinkwrap":false},"3.0.1-rc.276f1a9":{"name":"formio-sfds","version":"3.0.1-rc.276f1a9","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"27e49be19d89b3d8e3534567c2149125e59c2ced","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.1-rc.276f1a9","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-pBOJbwBjt1EUccxmpNrLFuXOvaeT9oO4VDu51s9WeGSSLFmtmkxFMXd5bq8druzLzct+VsrTW1HF86z7lNo0Cw==","shasum":"4959b2ccf15df294a4519d47617cd8faeecd0497","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.1-rc.276f1a9.tgz","fileCount":182,"unpackedSize":1001733,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej2O4CRA9TVsSAnZWagAA71EP/A7NTVqIK0BysqUdfdsF\noVVPw0nzhYypTAltW0Tk0X487Szm3ngkqPSbUD7lZ4h6/+qLVKtMMkceC9lq\n5QjSRkoTJuzMiAdb3VyssX7m7uGHHyjPeL5UizJoW2Pixkwfm8ZWAEN6D7KZ\nrCQsJrOBnMpsWt3sFX6tNUpBGx7jSSPhB0ecve9EEVtdfoAqPvwTVlVjMarp\n+1EvO7oY7EdYKIFUktvKodYVDNxj+uz/6m4Cg9Yw/zYgiIyi3edemXq+psAh\nC8G7VS5S9KKHUEdyrO3OKIjBCPC+SJFdxIijVFkwbIxqlfTTz1l2A894BGUQ\nCigu+OoLmeYhjgHjxJwzDy7qZezsckBUGi4SKaxgRZ63ugYx78dWObULg1yz\nSmi9SOCDIGHc6eIvPUvplZbDQMky2Av9uXsf4cE25lWA7C9K3L7wT2jzyMXM\ncHhGyZAn8rVYXNGXQEeGchiA7eB8wGHirDACzQKbxYIGi+2oIzZqeTXJjmQS\nUMcOx6gsNqvUBispzOKX9qkRInEnTGKcNcFQjSO/gEZfHN0fKKj073mmx/zz\nRcRy+1yppsjGYJfN1HqFsFnhFmQXKqkyswNU2yau8DyyKWYElG6HWZ1L7Djp\n9LL4cToa+n/C6wE6x5smUuhQdXFCAbkv9adPfsbomYOzXzkFsiCInXtIgloX\nsXZX\r\n=PVQr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCsLjSAJskKb0bok+9el+3iK3B2rA7V7KXBu5zOnkidQIhAJq7hvzMazyjm+2q5WpqBcW/paD+ZiqbSbbomucDcJsc"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.1-rc.276f1a9_1586455480241_0.6560540220760247"},"_hasShrinkwrap":false},"3.0.1-rc.e2af14c":{"name":"formio-sfds","version":"3.0.1-rc.e2af14c","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"841c7f469270ea69ad722b058343141afbdf6b71","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.1-rc.e2af14c","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-zxwP5Oumi8NmTxspzodSlOd+GeM4yGn63e6pf01TE/Ct8OQWnJCjrmL1WwU6zHNK1lTSbRMeKpU6jcjL7S5LoA==","shasum":"b4da57fafae9509b3eacabed7527634301047243","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.1-rc.e2af14c.tgz","fileCount":182,"unpackedSize":1001258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej2S+CRA9TVsSAnZWagAAbYsQAIkWjBvmHkvzJYxCqMrz\neQILkKWVf9106FjA3+uF0AlaAoaKfvnIw5Slj3vlvY0CkjpUOdtcxGwwK6Ns\nVPTXFYD/9SQKadjafczHuCV6dD4vCx3K+d2kxAz6+N6wA62MbK5WQi22RDUT\nh0GpZKV2V26OuZBDj/7+/eo7+f8ZorGDLz5BbZ8HieWe+o7GRp4UgYSsnh09\noVRitkBhZg8yFzdWXT0qdYLYfeU2FNK0pdol9VzWYqYbqKa8s/1NpGO0ZQHc\nKYXZE+wzvDR0QMh9l6QyfArZw/Zzv+JI/EpimdkFqe/GviT/Ampqk0404Eov\nqZ5iJYsf0XGWF3IGLsR1IP5hkBb8PgM2AEH0arjVCrwvxW/ip56v558MjOrj\n+xJF8lxW4sKAPDxMP6RfPi3uK3mafzradVfD15az8lrN69D3rCQN+wc0Ze0y\nG3565DgFTwjfM5010mC/1CAytk01mWQQQ4ngLIN/3SDlYB0eD+sLTyhaaN0Y\nDZLMQAZAOLDisZLyWS7Wx3Kj2M2d7OeR3azARiOBKsxAiqq+MvfOFJt2w6R2\nCavyZs96HcNNZun2I6ia7yMCS7kGkJt23LJhdub+rEPe9Ah1vr8qdu6g7kKd\nU/W+TZuFOyLesoHkwAoY+V3uZouALf9LMioSvb+JEzs/XL11t4EjaBbyJ5np\nFSHQ\r\n=p0zx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFlSiWZq/UWfuw0yXobot2OXh2Pm8t1fn0uv4hDLxK5SAiEA5fHAD7n25i5a24w60ySplN9IlSMUqFkak+ad03tKcqY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.1-rc.e2af14c_1586455741797_0.24133256271965808"},"_hasShrinkwrap":false},"3.0.1-rc.72030e8":{"name":"formio-sfds","version":"3.0.1-rc.72030e8","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d6e969d23ec94d3dbbae0bb2524dd25fdc5a9586","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.1-rc.72030e8","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-PtKrOaO4OLO7rV/GU3CfK3sHfmB7l6Wc5oLn5zJDDPuejrS/8x+tKbGgzIcheejXyrV56XAeDOwBZ56aG8oMCg==","shasum":"fc7f1253a94a828874e69eab15a607be0daf163a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.1-rc.72030e8.tgz","fileCount":182,"unpackedSize":1001320,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej2eeCRA9TVsSAnZWagAAW7IP/i5K6W3wojNqnmJdzGnv\n0hhTvvAO+qkPeiPyhG6ap7A+Sv8HKPN79mWK2QZwqtNSM6X1s1Rab9LvvKZq\nRhQqmtU6mZpJ9P+v8yle44oG6opth4fHFCvB4g6Kfz9qTsw/eg4Wv3Aw2ciu\n712dFNi4e7Zzvj4wfqOh+XnhOjoOOMI03lMl79wamTUCGxoKjVGec0AkMMkI\np4GRs5Qj6AacAftHxX1TCa0pBTdsiQojU9GE6U1e3EzsIWCD3DmQM+RVdXbN\n7va4it8y1jvxdHhQkfnVfh5/eO5LxEX6v117CFYb/KH3b9M5A7+YQ2I/oWUf\njfTbQPMNPeBJ8jIVMrbtOHYGGV99q0fEfp9S9yHkSnCn3tpFFAlWPrLbkhZK\nnG4xKI0bcI7trlk7etZUx9b7LN1mrzg5mNwymLi6OzDk/2ZNhptxPiNACxNb\nE/TPu7pHJ7PW0k2CWwNAqjkrzxQw+UII73QOY23HJzuVpwAmYrDVet7NMCJV\nsItoeKg0ueREmKw+/iVeaCeeRYnMhlefSj0+2pGJ+B63KOlI1MK/3cRDz7Dw\nJxN43rxyKgZiLjFh28y/4PtLH7OdEJIYXe4cJBS/GzCwQHBXh6zBBULdtmij\nCZwIkrcvZoSKeRZfyDWwRCDOSs5GYb9hBU/+fkvNCJzIH5CS9/frcQ+9xVYe\nxCaN\r\n=jEEU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGqiFyei+/uMCbB3SE8lUAdlNv0QkhA70klDL4pnA/zbAiEAueujmW8HvNy9t31LkFoXRRw8XPQydAeEKFNA0d6dPS8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.1-rc.72030e8_1586456477873_0.45605176604414965"},"_hasShrinkwrap":false},"3.0.1-rc.bb1a584":{"name":"formio-sfds","version":"3.0.1-rc.bb1a584","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"6ad3b9e5753400ab6a8e06ba379ec42e47af8458","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.1-rc.bb1a584","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-KDzLdfjpyc/WluPkU8JK1B6DsTsse8PPGAMBmlt5W4E5YtjZaONHK0VbtSIL1+r57CWnHdM+EUfjXEJC5pXY7A==","shasum":"191a77d937a08c2580e12db2134685a8f09ab898","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.1-rc.bb1a584.tgz","fileCount":182,"unpackedSize":1001219,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej2uWCRA9TVsSAnZWagAAoLUP+gMjLPjaBuDmazefB9sE\ns6F4XzEOARvIDHhUcdxKGHJ0FPSHQ/FvfjdSIFAj109I1RxwguyXyTS9khqF\nivRjZdOy4h7/uYO62HCJZf+hxOHrWQ5xLM6hJsAbEbWx+VdFzoXGqGnn1qSy\nKv6aE1JDm1ZR1KjyX9StfVMrk9rYUt1j5K+aUTldnXFss7vXFxPniBBc6lRN\nOL9I92Eta049P2u+tJUX1HFJImsdjVM2zLFf++mA1GM884XsSeteIinKxeo9\naA6vu+GpCjhaupGT73fzMOiKZgCoDfKb1kENYpKR909+jsKyqwG94HbeOJv7\nV3Cgrx4JyL23IjfSUbU6cdRXQNZ2A+1Vt96YGV2dXh+qesXwSrVSzZlPRMsG\nwhr9XxPQ15zOXAAaeNY7ZZ52Rn4/I2YthIsBT3um2CWz23PwB2oUeQp3pyXw\n7n7QXwbQ0JZ2jb0zZnbn93zlD1xI4Y/spe3o+FmcxEi1/6kjNbEEN2Gth/Cb\ngnT1ZhtLliB3Ru1q7K/QIDwOTy0BZHdNmS6NcE2lJx7dglsKJmrk16a+nkHt\nNVQ8eBr0d1FkDUNuT3zxV5ALGwqMpO17JAiiyqBWmME6O97rCcQCbRSql9D3\nLuZrs+nVtTwueWDOQbfc68KRT5WwgYG0dTVHKvv0nH1C1P61cpS2lU7LLKM4\nijiJ\r\n=529o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDeHtVH6PLNVPSG0Yy3DqvZsrCuqh7bzEK3/v1WWCAEawIhAMpB0p6JE28A6/nnX1Fxf5HgLR9FAVbKbFFYAkiBkX2F"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.1-rc.bb1a584_1586457494492_0.811617459638198"},"_hasShrinkwrap":false},"3.0.1-rc.fbd381d":{"name":"formio-sfds","version":"3.0.1-rc.fbd381d","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"3a79d7a3dc12f5516edfc4dd14e8daaf5a178e08","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.1-rc.fbd381d","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-qv1wz1H4/1bLoZk/0NflPMwqyCJKfmHwccE0dupWnx9ufwRAv/460lgyB0aY01ZLi7Qj8ca2k4Os659fqTbCRw==","shasum":"b48d99cd506255153a3bd68e34b681448ce83831","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.1-rc.fbd381d.tgz","fileCount":182,"unpackedSize":1001267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej3HjCRA9TVsSAnZWagAAxp0QAIyZ3L8Oz0xYO4RN1RhT\neWhJrHRO6gxc+EGJHID6zjODTCBVBfEZFPT0b0UwM6Kq/OFkpahVI33F64uj\nXeSyrqC32E1oUaeT2++5Ryd3Swyqhx5eGJFcSCWGonRFu4o+RkzuSc2CHymF\nuQvfZwrX+NVqErS0Ay1vFL8/cmEY2zrCXrkH9Vo8rT3YmvYhmuDw3D3Pa78u\nXwMWRqb6j3bNWgq1cQ8kv62I8+XtgygBFNFBki54o3u8vzrtOor+DRNrjZHD\nDBotOXNCXUbCR4JIc2FkPC3aNBjNgXWY6OErcFmUCboHkhTKqwXwlGpkn3jx\nd4ro2WCOqz03UegUAxZom0Pcnf/lVIUAcBLw2oJj2AOY64f3tjzSBsl1fMMo\nIyV+sDTVonL/QV3kWkcS+u6i1FD/6WM+2CcuezqJSBs+d7370shBxrg0mSRK\nTs/H2xDNASM2ByJmuUWtNbiEzdu1Rk10YLypeW5nWReh0aAsd9FUlyqEdxcs\n2CoFNIR7FevyfP4u+dXVb+z1EIJ7XNWQPcxXjcYRvp9f6266G+NB1yIagOq7\noCUHqITEYsVel1Q6pTPAu2paDU3vu2i29Ngd2zKLvJKJrNqKeFyVvv1nZMEp\nDdwVa74omdJ3apkX/BKt7Dct6fjsx5HZbuSys0fuyiOs5/Q5I5y9iKg2eV06\nEOYE\r\n=kAOS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzQKYNLKhphOgOVVwmMf/je8Ma8CRB90aIjEUAcsNdFwIhAK0CwXfY+OvyIWvOvwcbDZdgghUWzEosFpR197XoGtqD"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.1-rc.fbd381d_1586459107495_0.7823966275262206"},"_hasShrinkwrap":false},"3.0.1-rc.8612431":{"name":"formio-sfds","version":"3.0.1-rc.8612431","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"4451862e5157dffee03f31f72b316529c1f54f63","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.1-rc.8612431","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-xl/ZU8lulK/AmV8/5j+BIEbksMlRMyilnb5viMHDz+TNq5r47I265NE+i2a/hPg8I4gMidcfq9ewG24XMxbZAw==","shasum":"81e543a7c665e2f9e26fe68dd55923e1455081e2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.1-rc.8612431.tgz","fileCount":182,"unpackedSize":1003715,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej3YsCRA9TVsSAnZWagAARbQP/11PD0w0LQ+mJS+CTDop\nX1MJqFvZ19u0m7ioY0GNmwNqa0sdVib47tFhaV7bFAib+7YF8RlQy+94mbgo\ntAz+Hvmo6b0bJA5kJHd7yWkvVgaykl8cUctliPaZrIIHo5LWBwDKt8XCHlxr\nGg8B/j7PZ7WV9ViY4DVihlDhmbZvIp+oc8QkC1s+pTh7mHzx5GGyGooZuDte\ntxvDJ7o5OUrdv4hbof7MEC5Ejcnc4Ge6tIdY+PHDnriIMBpOcVKWBWF4nEgV\nuIQAssEQk5LRnc3dXboLSgwFWUDKRqCBo4RPQDK9wxjuTBFH0hgqRmFIwMM0\nBmntZKwimq4VnhwLTMQ4DHfCCjdi/WAx+ZqMIwQ9wQ5GfnHJzxkxtOpoFGgo\n2BHrHCJ4GXTgi40E8WzzqyBJ7hiWhAVxiw+N6aPcBSsPX1ZNLaJG06o+qUTh\nKaH1GJBf2p5FKyEMtzppOCYeAD+PcvavmojSirg+i72F5bDLQfl4pMzZuJMS\n5/5njzOv+cOvlsyTbh11glXC9qeU7naqJFaw8McodtsidU2pX4nE69HgjSWs\nQFiMHXmq1qkpoLXlIPtKnsC7mumL3xly5LAQEZporFQQFrspQ/8iDpn1t6xG\ne1orcVWLXmBhNCQHhydNhIaiqDmXXHTBZ/ac8Xud7EI2elWn8J2x909d3y6f\nxOx3\r\n=/yxa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAStlvKqKhLZpIcNB0ChGhn5Q3oMMNbEHda0EPMdC0q2AiEAjba9+G8wpkDbAyGN77+jf9ii5OMqYJgHeeBiS9aiS6M="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.1-rc.8612431_1586460204156_0.22416163606369066"},"_hasShrinkwrap":false},"3.0.1-rc.3bc93e9":{"name":"formio-sfds","version":"3.0.1-rc.3bc93e9","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"943cd70549302a67cc79ffa40633e7fdd1e12322","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.1-rc.3bc93e9","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-DYDwgdmf6T6WbYTAE2VWy73wXSoOjca183rDfX6Y7mq6kEAn6zKuWp6bQqp8zwHxA3jJNJaVYVAHwmJyHcGIWQ==","shasum":"f3ded50141b40613594ebbfa14f9819f23686645","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.1-rc.3bc93e9.tgz","fileCount":182,"unpackedSize":1004176,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej6JACRA9TVsSAnZWagAAMsoP/1oq/T4JXahx+RAwwyhB\nQ5oCiHkb6qAoe79Tk6hUFfTliULh7pBPXU+kGVIgACdg/Z9Mx8tK0/brXOBh\n3dFLNDeeW232fqckwQINokuAylYj82OS1+QLVYC/Qoq88inkL5ajA+ridqsG\nYPf1QuFtVuYYFZ2/5Z7SoE1IaZJ1xWnO11HKlfQmrv/bDYBVNHnQPk6x/0qp\nLeVu5n9Idw1/e38TvJyZeYiclgOqBnPMw9rqBw6aBaYZVinNWLIBz0gnL/5C\nXQhkXVuz/ZFZDhGlsgIV/Y6ujsIRaYPOe/zEFthKhnmnZixjln0vmHMRjoRH\nRwigHU0+Iqm/E3CjWNwZFUHd91Zd6LdPcgeNr9iKPnFhkIcP/4E73PKIqsZt\nPy3LUHcdrDlW0FlJ9HO8+2l9W7YCx07wqK4Gk08prcor168uoZs3ZcjtnQEU\nx8fPPIs4A2DYyWDzOTan+SbemRMPpifKv2wiEuua8zRBnfbYpoRb/md1aWuE\nv11DHBGrMppBS15wRO28spsx/yVpNA6XP3F7phC81x7kxVjsxlyHFtRgvUgy\nNZm5JPCRSGGFzw4A7gGAGlmqh6WgvbFyfjZ94BIuiomk7GDMTT+wbvcWbf7x\n9HOgZOgAEGboD0Tatn7bbkpH9P0+M5dyKIpIaadyKtSE5BfSwDscGE5OP6qn\nolaU\r\n=+eay\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEMc3PE+dtg4bivZ9PMd0TE+VXB31W0fZ3N0l6JZRQerAiEA1rXJuw6pE7Tz97E0/hdUSNQA70pbVUhrO2NwWZN5644="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.1-rc.3bc93e9_1586471487823_0.5724958352511647"},"_hasShrinkwrap":false},"3.0.1-rc.7639b88":{"name":"formio-sfds","version":"3.0.1-rc.7639b88","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"3552f16fdff6f0b60714e84e8716bba369d62687","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.1-rc.7639b88","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-ZNA55T/2tfh+0UkE/fEmmtTVygwdfL/qP8NwhhXnE87a/A2fM9KyKskKs9Zr6IK1McA9Mie+bJeIOKCoIb5xOw==","shasum":"18e642790ab5a16f3d1c5e821e78675bb1bd3d35","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.1-rc.7639b88.tgz","fileCount":182,"unpackedSize":1004148,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej6MLCRA9TVsSAnZWagAAeM0P/ifgj9itaLVI3I4i9EKe\n7L8kyEnfnZoUPeWQ5b+s4Jnqf/PFX9Wn3ZKPbOxrRbN26FX/NIboJx8CTXQl\n1RX9MjdK5wgtsMQPK+g8C9aTpH8XI9GsRSoKWQeEKTBqvYAI+hlbFp0/QPZ5\n/mV94paZ5V36Eos6eulz3v2CXOAir0oEvrlok5xR6uAPbEtPPFuWoB3JpI2j\nTuZ/7cabyjr/yq0QL6/HEJbF38r68ikkTnZwVRriyeaWB46F+pE8mf2jyYld\nfwHie7UOEyBZtIgdkax7BlikjzbfjQJ2m0s6Adl9vcMb9JmytjHu0i+jFMDW\nGVMa5mCw0Kcysi7FlTiYiAj7XY4Eh/P6Tjq4Y93CSnqiiYDTS2A2eqerqU8W\ncUf/FlDXHXsaR1fCJRwIgGCwl26Wy61j1Ml6QSzXkz4CdqqnNDKBBBRSQeKU\nMqLACXsOW7oQsuSREmDQw8iWNQP9OmxbV2awkqv5udKrKzuqMgSh0Ks0ZOvZ\nDc1Hctxen+zBqmm/M4sPbKC+raUMSb2opY28giaR8QCXA5vaGP7SsO3W/GSo\nIBrMGY/UCi00uR4O5NpXqQHr6r1z657sH4Sm788xWf2WhSPOkhIdPpxnGARi\n4nHx3yykx1evpJbcbaB6p33/oLmSBzu2w7N2iCPtVMtTHBb+jmpfeaJFRaXx\nS7/V\r\n=uvxI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAe0n1LwhKxygVzQz1Cs2Nmy1vGJpZkX3ZUJspwwsaqaAiEA8i5M2j1fbW0/KbRI5pWKrIxZsvGwMzYjuoasp9SxAm4="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.1-rc.7639b88_1586471690505_0.9697554960802486"},"_hasShrinkwrap":false},"3.0.1-rc.2d11446":{"name":"formio-sfds","version":"3.0.1-rc.2d11446","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ade37b7f3e9bbe120ed71e07d2356dc0a7aaac86","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.1-rc.2d11446","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Klb1QKohaXrzujXcZhbujtDHM8tR5V9Wv8bgcmOxLzrV8bVhaZu2t3J/7qeb2ye14vjwOuXIqglRmYmFsiVEWw==","shasum":"3574e9d5220042cf8f6947949956bd8c1facdd6e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.1-rc.2d11446.tgz","fileCount":182,"unpackedSize":1018593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej6bKCRA9TVsSAnZWagAA4koP/3bffDHuZFQ/0U71aKJo\nvS26XTUu2EtDi0L40ACCS2C+26v5XUneDPsXNam7dQqBV+vMbIgn0lMR7m3m\nTqQOrU7WMFL/jOzE3xduLOCxJ4PRNS8OKelyaR9n22tPvmJ1phtyUI8OcmGD\nq0DG6mAijd75JuaCXqcbsnVe9tzt5V9/7CLT5ew1iNnrbBIVIfWi25lowFB8\n3JCoCno4olMwQxYObEvOSqArKz2yvvngGTjddHtru7JOLgATlY3eg6qT8dHY\n8mL0HPkfaKJpfBI8tICN3PGlxlfj4L4wU9nberKzxeUjJKuB+4QiBdYJW3p0\nXz78XAymGPJlNheRvpN1nVDlQhQqdp3i7jeQzJmlsNEpqndDrgwOAT/oc9VD\nzKON/6OzjbpUvCokwXX5CGpoPFSTGd1j2hHTOF+6Eo/2vm1G2mvpv7Gq7g+R\nPUsnkJw0u0CrkT57XRseYkgBtVLZiu2usJnz88O/2u5YAXUiUFTa3sgFlSKG\ndfVczdhCq3GJKMokz7AM/9mlpMZSjzSE967UTuTfuqm0m9IERHG0ulOWKISy\nKgkNY8Vwgr8YRQAdDNq1KIckkxPMEm9UpM7/ZyhDsOh1zd5uyeA1u1vgKgwo\nNW8IpUvwSN9+UJhERhEnggY4ZGNbp/20tnFraIu//dG4WAGjn9uZTRHGcwes\nj1fU\r\n=SXw1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA9NN5zFdkTOw4irdZkXC7yFbdPL322tHsI4kkjFsJT9AiEAiuQqZG6osnMgsDNv3E+iiV9D/DTJyffPP2Fbzfh6KQA="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.1-rc.2d11446_1586472649526_0.5583218039706344"},"_hasShrinkwrap":false},"3.0.1-rc.9d9156a":{"name":"formio-sfds","version":"3.0.1-rc.9d9156a","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"adfb210c51fe78c7ec68b8dfc36dbb6e4faa30fa","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.1-rc.9d9156a","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-eptSk7sItTevzEt5fM9WQGC9lAmlWpSzTdiR6QqscBB5AqGOirx071RS+oIlS8qbqZTHpXzdhGTQ5dpPMH3CZw==","shasum":"f501307f20b54bda48e3c764953a466055734cf2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.1-rc.9d9156a.tgz","fileCount":182,"unpackedSize":1028233,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekPmICRA9TVsSAnZWagAA1iwP/ix7a2LYDIdheT4yoJD8\n0Y1jSSflf4p0VGd59lEFXSR9wd3Pl4/BD0f7SAGlm5VbAGlNvZ1jYftUPHQE\nMNi0+OjuK7HTqxmTDMOaW2W84Qu51eVffCLK2tdyK9SZH9o80XqJlGeLe0E7\nRaJ2X0RWxUtMmqsCYY/xE1JPUe9PX0uwMApO7CHdu0pJrvFyQ+aiG9TgOrMM\nb19nI4Mzdfx9FCS9oE2LfJnHi03QBKG9zn2BDJvynXXXCIwAcJF6kdawxpho\n/iQPqwvH4x83yPqmZ+PVDnM/tMkEKXeKhAYrP+Mb5qEh/moty5NquarWkFgC\nw48FzbuaJ/+XoblDOxfnuzgvA8tSAx9gUhWQRhwjMYKOwuFXbZbBnVaYqouS\nX/wIvdAEZ9c/wNgT4MMg+KB3iGgutS3vUc0nQPlsAv1EQfiN6D/Lg9uKyYqD\n4VB+rAwRnEHmAyy2otWBICWJv3ARyoY/N7t8tVc4zut6dn1cT5rbprDrkKQI\naD8qd5utZsh7B+4iOaSGQbR4txnH35+QBvDZQA6w1OYOgf79oqYNeJCEnj0R\nRPhTxeKjy2ZJiLl7mSWmDLh+YFnwxmVbGSLphXyn4AhvgLn9W90kbRSEgodX\n9SZJmAV8zN5oRmHnIg8usFfUJqSrQx9Sf9R8/CLBE/40ZOgO6F6uzaSG4gQT\naMkn\r\n=pTG3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAJ8XPlyeX/zVdzD8TK6oKxCtaA/sD2eUUVWtEZfT7IvAiEA161w/sWXvXWJvohq+VvGwvfuUlFq/WI8kHVVal+uChc="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.1-rc.9d9156a_1586559367258_0.04373475321459663"},"_hasShrinkwrap":false},"3.0.1-rc.98adab7":{"name":"formio-sfds","version":"3.0.1-rc.98adab7","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"033b72a687204aeff306c07e20eacfbb6f5c1f8b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.1-rc.98adab7","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-sIkBLknGmYvmFvHV/P9NPMhPM657jaTB3fZ4yF+IZYL3SpIO7ERBpog7m0YbxEaf98yHmSrC9NbiNGhbfFc0lw==","shasum":"516bd00827412b4953e0c67be0d24c36b2d1537e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.1-rc.98adab7.tgz","fileCount":182,"unpackedSize":1029049,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekPyTCRA9TVsSAnZWagAAZ+sP/jn1a8ZMnRhusS3RB74D\nNES7vyU7AUfLB6482MEftT5wwfz7XMe5MXBi0tsBVyfqb6/7655Y0tZ/P2tD\nQlh+OxmG6EhGMvdyCUnlQYgl/pgEwgkPgn9Vv6rrM9+pIMtLqKDI+N5yygT+\nJmk/cZEck6n0afLrhPXeQyuRmXotNn4tAgJfr5BJBx4s/eL7OS4FKk51J03h\nqJMhWRXjsFLpWUDFV2r7B4UpL8dNJ6otZv9h0vYi/Y5SSEtJlVfFInKaWKzR\nY+hVOP681kSXUhdLFog/NRVBUmTEfgyh3kRiX+wMHDa3PjhYTVoSEU8zv3D3\nQJFh+cpepeoVzJYyDL7Z2rrqhxhw1felZE7N4qtJ2jM/XM7kq3uI8fBtmwep\nqZH5ejO7EZnnt5pypuB40jZToSyS0T3zkFYBVjOTY9Tm162qwChYuvXAkskd\n0O3D1aDW2mW3oORxr6QeBHvj7uwKmipmyo2G9SqnePo42x5rYZaOF3OvLNSj\nWhcZ56Olx1oFR9nvgkIScoelNuZ8T3H51+m6Jkr7PcclNwrFwYncW4smIu8N\n2A8ioavhpsbEeOLKzFjHafRtZDI5IZGq0mUo6gitPuyhXvFUAJUOntp0lqdU\nus4lbnUqPmWkZGHAGY9adJsqkh0t1F8LvQLenT5fXt+aXYXFFZPdj/GNwpRj\nH4hX\r\n=aaIx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICuDvNT22rInXVDUm5aBGwdDVOCZYeGdJrHI4QpcQVLcAiAYFOPS2C/5OUIZHTc9jwmu2Tin8Qr8PiAHT3OmsX+7EA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.1-rc.98adab7_1586560147064_0.535948349348051"},"_hasShrinkwrap":false},"3.0.1":{"name":"formio-sfds","version":"3.0.1","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"fdd5f4bf6183ce60262a102de59c8feba1adfead","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.1","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-5szChjbMM8f2n7gTkTl2ChJC6xVkV0SGXLzsS+bJ6lmfi6vYMp1zDwNDxKFDG9eIL3/zFskJ5FJC7UudwJukJw==","shasum":"78e48783f91251634101a2961b4dd250a77e2895","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.1.tgz","fileCount":182,"unpackedSize":1029038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekP1eCRA9TVsSAnZWagAAiUMQAJQZNcQ9qYzHXiAubTLx\njtjgjfGOeCBnrUQy2cl9lNvy+l2U8AOKLmjnOuBk4QR6O0hCkMn0RL4Uikws\ny+BL1A3JE2DePGFfNwXLTJmHuAaRyo+jaS5xgShOgaPc0dY1fOtsoVH6O/ri\nkIupZLODR786ZtZ2hzAcrx/+7rjkqBlLhtcLnlEDEn7FAIbnr/k+6lFp43gq\nuPkBtZ+ci8jUIvYyIkyj758ILALnHgwnxqxfRaahmRLZNInrFIOCyn34NEkJ\nogTJuG4HrGPNF3DhstDZz8eMEvqW3K1uPqV0l8tC0u+O8QznUUKwDugUKORH\nria4N9pGuGXFLKjFp1iDyQoFer9MgaTapO0E/iKn027OkHqjCy31+MD/a9GX\ngLr/vBpJhyEr+0oENeprXg0z3LGbcgcL1X0uG1eG0YS5mSLG0bP5gQhwiSeJ\nkoJsOccQthb76b9yARYqGc7r43y+dw80AInv5vu1fjH8dd4bI6uxHkypvR6Z\n/825tv7AUcV9ba0Yj8wS9N9ceG4lYznaDePVqD6bV7lCA90pPSKhjGbdEpYw\n3wSQvGsegCHF+B86yzEWD9KFE+0Q8tkO3xo1qVQW0FcySHK2vDQVACTgyVYD\n8FT1cUhqBktpJ0Dcp35pgqjlUN/jVUIxL+BAqx26CLBmnOMufd/y/UY+7AMd\nyeJJ\r\n=MrWX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICMt7fXOkvD1Tpa4QN9B7TEIi/Zpe8B/LCiTQJ9fo1A9AiEAp88duo7bQe6qUwE4m0LKgH146DympvaLDpaZ3CaveXg="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.1_1586560350303_0.4710024233447607"},"_hasShrinkwrap":false},"0.0.0-09a3e05":{"name":"formio-sfds","version":"0.0.0-09a3e05","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"754ed468c30a88b457dd49356d7ebe55865f04d1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-09a3e05","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-lCqM5v5HRdLxwUlJAEbOmM6SWphWLBXU/nfZv9Jeyevw9+hMmqqviKxpq6SHKNOkuEQYfNn+5Cy01EejTPS1Tw==","shasum":"9223e3e292596ad23f6503b827fada8556b6a9e1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-09a3e05.tgz","fileCount":182,"unpackedSize":1035844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekRDPCRA9TVsSAnZWagAAV9oP/jQsGvxsyrMrmxF+1IGU\ndH8qRWQbiI18mWWFGjHzB8feIRFthGFOJq0fxVOkMY5tIGOfHLHCdJjbqeMK\nzS2ODtrhMYnPfs2+iRkQGsWa1PeMPgZHSht0ntEa/r+NoZg1LAtRtpMv++IZ\nN7rGACvj9tkXO/vdMd7QerlFUU9GPuqDI0rtGrn9HNWXPIlbPYqyru8b7GXG\nvQ3XvBaVrOysaD5+Ftz4DdCBwQ8WHXjb3BQuMZHkW0yslJU6QCiNjmtPfi2O\nEa+k7yQ9s5DO1TiDPgHjHX4W0Llh0OHPdaBr/6LRbQz3B+BQXDjI2nBRNSFc\naL28182yM+/jU8dedS7RHgyt7dRchxiV2RrtKXlfkhP8ss2QPJ16ZQnkAF00\n6P9U6EVTarbO9PG0E2kwEnW3D7f2gF47prt8SxAS6djth5yM9UJG7b5ruREE\nZAKBPA71Zsx58QTYM+/5PN+G/WtG5JfPkHqETGzQHp+Z/Cusuo/0l0eOEur9\nbKoNJiD7a1sVndCd9ftf51to17heFh1oDtiG27c5NgyVECodVGZHXA2dHRpX\nh0Kad/VPBH/aj9fJa3bBqwsKav/E7yzSnOqaoTpzUTWJsJwQqh76rp3+v6fG\nQGuj98MeCFxCxRgenDGNkGxtdwxESjPjitVQzroXcDWJSiAlO6IK+to5LMKn\nPLMg\r\n=yMbr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFn2lNsqericJnvEksP8s/CUhTwJS3/CajpLXE/NGlTRAiB+V5O2bzsbXSRELZ8kNCxbVNEME4r/voP4KmEg9CPyuw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-09a3e05_1586565327193_0.8927400249143036"},"_hasShrinkwrap":false},"0.0.0-39d8d7f":{"name":"formio-sfds","version":"0.0.0-39d8d7f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"bin/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"6f3ca1bf3af7ba01f4d9b28a6d3eb058816904cb","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-39d8d7f","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-UkaWkykQKMcYwc+U81tDo7Sij0KEdxefxR+0D3ba9wukwcD2+CgOFJZV7HxAFib8pbiG3LKUZS1ZmGXw/UcXCg==","shasum":"d996db95b8890d515571fa63084944e6337e8355","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-39d8d7f.tgz","fileCount":182,"unpackedSize":1035907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekRERCRA9TVsSAnZWagAARCgP/1+JAql8wp0AbpJUFRtT\n1CerZeT2UrPV1f4BiPrIpvmMGKht+VoGdDhyOUjhuoI2WMLy6bohYEOTN/A1\ncsiagXnsJOXg/sjVSuvOMTLvjE55bVAm3vzgVkXBq5GEm9KDyH+QwF4o4wUj\nc2uCjnmTyYTvZ9OsMmQsRrBvj9ZKXc7JpkHUIVaa0W89Mzcm6YkK6cniYjMA\nN7eXX6Bo5kP0OGAO6i6d4LlFSWtbo7KexkbaOcd1+goe1/WoUDAqV/W+VH6a\nIUnzQr2IFh5OBF4tcfI8qbBmUdyhprnfEbhkxZuYsuZCYZYkD0udhOtLdiS9\nLa/y823WTfnvhAkSr76ftuL1R1CnAjDef6cj12hz0Jwrt6uatu6jczs2P5U6\nYJ3lgvtnw0/UfuoLdeZbGAVUd4a/UaKHmuDj11bG00ZeHP39xiLb+8JpZzTu\nJ8ARrFvCTnyRerMcxUhkdQcICRjYkrNZcdD1NrKDY9WSasDD4g4FaVjLPcWF\nUaFF4XAholNeE51mx3Z84JWQ3b/1jlM0xZvP53INHIhI0CXMFJUuyJJgeDSv\nxZQz3O920DaFuC0du5xs53MvkgQ/Fg1+yKhITdRkZDS3/uKmpuwD/q7Z6IBV\nkdW8DC4gnMFqfByJE8LWyXw2lPENnJKJ8FcTsvUOLykl0a/fnojh10Ep2aJ8\nVCO2\r\n=r+Nr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDlGiO3ccMpAejBhgUrbRRFjskpXnDxUzwrb4uQY65G7AiAGEsyPLgrsXmC+9BBeBvI5UTEekrMvrhFXzoErdEb6Zg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-39d8d7f_1586565392825_0.009972013087127474"},"_hasShrinkwrap":false},"0.0.0-cd9c90e":{"name":"formio-sfds","version":"0.0.0-cd9c90e","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"96cf12cab456175dc5b302124ee248154a2ee2d9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-cd9c90e","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-5qiVb6CGJjJRnoYWR6Xsu6hC7IbnM3VBrOT6QJZufvl7MBqxQr2ZjiRJbJbFimoS8DBuULa33p+GaWi1emMmpA==","shasum":"17da5e0d3855edb3465e1e754e1b62ff65ad2143","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-cd9c90e.tgz","fileCount":182,"unpackedSize":1049815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelJXbCRA9TVsSAnZWagAA3bIQAKLaQ4+Ar7is92sgAXj8\n9ab0OVkna7wXZQj1C2nTqiVtJMaaDD50WsugUpcEmo2AI55nMpsAOBcAcpqx\nqgdD0fkfAmw1nsn/Jc3Z3A1qiuk+nbfBdle/83tAww4Qhn9WdzYnbUWAEKTz\neobh8PKSLbj6a0d1hqk2StHda0OV8bt5E/7BWKX8VrO2zPy6aKPuqsh+oMRz\nByWYyqQEGUAgh9w6voBFvWS7oSi70L5Q9H97+06/LtTQZxpqndn7cXrcmE9u\nFetDKNQYSzhiGmgBRtk48kxYQ5FJ2ezM8jct4E3wqnoOsAIYjziP0CclByhn\nORiDWWqc1CCPWuGnNVm0nLE6frWXkxtGvwY7/o3drlZMMOQpnNu+LhpWQs7J\nSBcba8iKqZ7FJ7MLdi6pb9Pv1HbcNj7oa2Z5Z+BYBbE+XYHepwC1e0nEfNXy\ntHfPLYKe8rLW+rWofJQhLPYQ4etGTJu5TuGBH6sxMdkhzKqoo0L8pf1NURi0\nKe0KIjsaZTB4LILfErfVf9LbMQv4J2ityYOKssZJ1D5dulAmZgPi6IP+u8x4\nXLlJdf46SeRTryonMU4pzvNW+SPiqOJwhilS8W/AjG6JuVRNsw+CL2GcQGOq\nIPbOIfpCmQhaNwh7mYXECzaMud+m7sXsiWhVH9A0ZBzXBGszdy9E+U6aK4CX\nYiEv\r\n=XRzx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmVoocOotkU2qyuLo1p1DxxGV79ym/nJdMU5RZUpwjpQIgYR2vgWhjqXefaFWLy6T5snpq0Qbr63OXZhJUrMYJ0pY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-cd9c90e_1586795995093_0.18482813055021508"},"_hasShrinkwrap":false},"0.0.0-4736d71":{"name":"formio-sfds","version":"0.0.0-4736d71","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"05014e79fababdaed98ed4440dd7ed76bcba2023","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4736d71","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Uv2lfGICWiRtxtCK8kCbZI2T8/FaD/aL1xPoC+xaCKtUrkpCaRA44bcF/TPee/FDGEwOztD4NtSRlnAOeHbijw==","shasum":"1a3ac32461c231d434b0cb6474f8c75c666f74d7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4736d71.tgz","fileCount":182,"unpackedSize":1049815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelJdECRA9TVsSAnZWagAAh3UP/1RpEKMO28e+/CVMy0F6\nBSzx2kvOPCvHmjZIQuTfQXAigZgqz7oS2CE8xrlHOGL/fCggtHhJ9Spvbw/2\nRL0tuU+HjGMnLfrTzgf75sGkdpcMiqww6ZXiCe95yEbpbuUB4DYbpmV4fBy4\nF6iUeP3C1WAlN4VFw4jspP0kMEMm13sfayXOAtInP8ltKFCF6C3jfM2mZbOG\nXAa1gHpVo96zNMNNdpWgtSKbcC2k5nIwUyi4vXmru1t67v1e1I9uDSvD3UJ7\nXuz1nzYGRkX36+n0rlIawxj3nnOnqShawrKQ6ksKMpmP3oofYvjwWl5RdI1I\nwYoepwDJldqotSRVx94PBVNQKnl4JTOcMR9KHmO1CpTLHFmSOLMPf0geaZT+\nND/vYjS2FCewEY3HIzf7w8L5BHD2WxsbE/+lSB7kbO0yJElaHqZAys9f74kY\npjO6cFjkUj930tOW0UZEXOnAiCHYiKvLRZy4nEJK8jin+PvLz6v7G/1Q7gUw\nAezw7JFjFpVfczF3dwCNCixTWQ3OcvCZg9/aGkdWQtO0tfSWp0OqU+lTkuRh\nz0C3FrMqk+sts0wbRrrcff5c5Ph+a9GkViJj3SKzAhmECTRU5N6jS5DEF/Bs\nxm1coWvDfUUIY8XEzl9pLCG1Nq/mKt5RY+PFkMUvvUjeI2NqMhypNBE9cubz\nehUp\r\n=egLS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5dwPnWncOgoBqoxqjpfGy3Tw/JMXPfg7LExYaahJR8gIgQYnPHj9mDEXQjH3l9CIKKa9umKz1eMFjyrRVKZdKl3k="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4736d71_1586796355411_0.19745401552644415"},"_hasShrinkwrap":false},"3.0.2":{"name":"formio-sfds","version":"3.0.2","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"79a58d66703b5cf757b6f04791aab2e620abab5c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.2","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-A5rEmfSDrnf8ccS3vvaTvMt5kBjOb0CGKWumD7jmPOAdVK2Ux3iABLMm9hlPL4Wm8viPkOsV6rQ5JyMG41xr2Q==","shasum":"9fa2fd5c59278b0d721ca787393058159d8728c3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.2.tgz","fileCount":182,"unpackedSize":1049807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelNuECRA9TVsSAnZWagAAH6MP/2uIQu0CVfO7dYu6I4p8\n+ki7I7KUpC0geDc2/iCCLajVj249+m+4+zhSv7LE0DWsJTaMpS9tg/qpWvgP\nW0/2pWPBeWjsu+AgdaPIMNKCSE3vEAvdFrdC64KrENrs8mKLoQDIP50forvP\nhJKXDD9RWd/+KvdEUVXlfCJxcyGlqHCzmxqpTT8lgHQZOjhv6gwsDMVAXPDy\nUZ/hoAZDCgT1WDrr9oOacX+GfLe3Fbb/O6XpQuUhTg+rQ9npYV533xzwhuYu\nF5kAGvoADlLEHszp6njKYaJ08IajM8AIssHcpi92zieovnEq/OuNrsEl5scK\nw0Nx0+5RwzIolH7/j4EhyGPIgKEnSjn1be5Mqhh+3pggRZ6+5/61EstO5GE5\nYy9oni4WZQdhiszJWRlZTsQhy5LrpaI+1161uPR2qN7uh3ra4JpeHsZvO5GI\ndhEuhOzGeOev/jKcbTdxCqvnl5Aw+SKDV0Fds9XEDShzKXWfG7EhlgMPqoho\nexG567AVRUyfZ3wLBjgHqVpqOiBhT8ncZ5pA+O8OzGLvaxOGbGkDfmk8hUTU\n5HjtOl9gdNgOH4aP2XXtv79LpqotT02D3hBahK1KiVZqNN3b5EJIJatrM1ym\nNzsPWl6jzKKQWc9MoBvjAn++RPjDBuxgZ8DNBIQiBXAIk+pMFLhSsv9nBM71\nuTz2\r\n=YhA6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEjIxCEZmAG2ekmDg99RXOLEuwgZVGKZSm1tOkrKCEStAiAXiDeOK9xD8KdJx5et9jnrOIB8yARYinmBPQs6KmuvaQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.2_1586813827667_0.5333291064188892"},"_hasShrinkwrap":false},"0.0.0-45d8aea":{"name":"formio-sfds","version":"0.0.0-45d8aea","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"2ed5d57b4fc05c4558e57d5f90b9c46eb294f9d9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-45d8aea","_nodeVersion":"10.20.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-vjPynoEwVafq35N188K1j126OOlJHSsVGB7uExCJPTVjSU6R9VennfoPdNpJc1s6RL667o0VU/ofRpYn2ZS95Q==","shasum":"52651c13a61d267ce3325a247367a81d1b90643a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-45d8aea.tgz","fileCount":190,"unpackedSize":1146093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelPVNCRA9TVsSAnZWagAAmfoQAIPeL5XNXsIESw5g4GOe\nFdr7nlOSrCUQWcjUlCiNQ7taI7CdnMoRRGhkOU/ZEiJdIuv/d14OVt1b5z6o\nkbZ/Xi2+ZjtFi+ZBCZ4GcFz9I0uthNSizFhih+oqf97uD+7JuNGE7kECbSns\n0ASnU4b88JwtzowdzettmzxqO1AwBuOjnihCbCWgRdEcGj5Glb57IlRPr8Ff\nOvBObBgo+XlF7Kc6/Af8/+zhPynW+INbFwhbgP5n/qaAhfMrC/Ho8I3Ond+4\nzIFBXOl0ajQC+ygyfh+IsRybc5e5+Wn1ffJu7mK16kAgIggHDkZE+P8zRN3I\ndttEf3uB5oIZ9E7my2KwdNdFYC/uR9pmDLia/Nn0BhIw5xXJDUuJBFF0dEns\nZeYfzttA+sh+oQ0e1rdw20WnbFmSt3CPLnT+HbsXrtHGyAKvQNtDNhq+Ji7E\nULEinR++aAUO/GyVtK0X/tUQ/ZWBWkstVeLWkLUE696nhpYa9CB2VQgbRR0k\nLyccwxg/A1OAOyPRbL4457besDpLTU9LqEtGnsY1OgW15K9jTvcoPqt6RHwx\nszvGi3J7XFKUn4/j1hCBGny63pHVob4YVkBDplkSNd/Wj7Uy5D90lAufBPD5\nJXvdYJ1rWj25n0d5utNE11iAjCH1cbLzztyBytRp+I95ndONzWZxpo2EwIso\nvs2X\r\n=hDQ6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuKQE2ayEQceckt5jT/fGHLux+RhCKV8t/79WmnYSdJAIhAMmqGcGHaS8QJq1dVsMb5XZrjPYnU9hB3l8arRHlgCff"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-45d8aea_1586820429092_0.8634969555341017"},"_hasShrinkwrap":false},"0.0.0-e783e95":{"name":"formio-sfds","version":"0.0.0-e783e95","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"9bb81f52a55940573edf47272fa2a6916925f9ae","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e783e95","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-RzZM9mV/EMyX7GU4xmp+fscDCjHMtAYGb8aL0+1MbeLiGOJSh6NVveDIy5X+Oh08ahBMFBZLfMaCBj1L2Pch4A==","shasum":"436bef7850a46e8cb6ee23807d9643af7ec39831","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e783e95.tgz","fileCount":182,"unpackedSize":1049811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJellUdCRA9TVsSAnZWagAAr1IP/ibzwoYedxhCXFwOlqqW\nAV+EQ0eEPy6wY/zhake4jxM+wH7dlhpOUP1tVJYoF3SOeDCyF8f/PySpRIfq\niwgypuNWWgkk9+amtJ8B1PlE0RmIirE5D0VQ8JIKp28qGcH0xM4JpRh0Lwq7\nxGFJIj0qqPT5TC4THA48Ww3T00D95dZQT1mXRRWASiuEfgJPKM9gPjI6dAw6\npDVL8Y/JIsU78DqHIpRIOZx+z4wHoECGGcVeU59o2UlAZZfAlRcjIgsnhmvq\nRz8vpQlPzMrjzJYT/rw1PYXv5AjYZD4MstzZ1uU8IoEP42JBcSnLKVzbNc0z\nLTjM4spDLKGYYL392yfQjESrmntWFRTISdi06chDHZjUQJaL8xmcLMX3SK61\nOpnBnVMR8ueAW+krOxPE6LrtQUewMNcfqZZu9SDpbVAxcdW5OTqP5MJmkMCo\nIWEMbU/ABikRY8iFsWIxLoHEQRsPykHSE1O4SLu6vybXZK4mkiIEAZOsqQhL\nmu9huFr6aTqIcLIm8ypcDAlfT49kRtr3WiCYRsC9MKtpkAC7/AubLn1xbhh+\nHDMuLbdLjlsaQtVwGGfMtfsV4/vYd90+vJLlmby8/OWThdPe8QUO7FHj0ETl\njyZ1+6C6pSyO2N+9uXb3r6ZBQOa+73cPYsRhJAH1P8ZDiocGE3t0f+HjU5F4\nWORr\r\n=upvS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDlzoCzfT8twIpTTltMxS+JZzR70KvD2xbChkjCj7w6NAiB8y6DT9I0As0bx3QaTYHLFcNXTDOTe+BbCNDhdD9Ut4g=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e783e95_1586910492835_0.3970968519589382"},"_hasShrinkwrap":false},"0.0.0-9cff00b":{"name":"formio-sfds","version":"0.0.0-9cff00b","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ae04146e54570e4fb619785ec226c291b333a4c7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9cff00b","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-TqIv2pj+kQa7F+DBtN0ewcUY2uh0vSE9QbgkYdfpntR/jfhXkEfGjbBzMGcmUvnBn7MWpykSTt89b/rdXS9pyg==","shasum":"5f62303615b75476b84f012e79b9116bf3f03691","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9cff00b.tgz","fileCount":182,"unpackedSize":1049811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJellooCRA9TVsSAnZWagAA+bQP/0ZIia293etxGLMf2YTv\nvzjFsdvuZByruT1vXv410PZUn8fkHydjtgs7w75+PsKk73yxynhkgyBy3mdF\nTUDcnIXQhxhCRiTGVCxELMJ8d1LQWQo+r1kUNr0Q0la5UKeYbCAjMnHdB3MX\ngXjR4cFkmgd6wotS7gUaQuH7ARPlvCm2k1rHj+Gih0UW0LRN5vRcQmYc3W0N\nHBDyzyUKjrUtTciZPS82HE5/9FhdI4tKUuJ7ZWddlcm29QxdMRk7YPhZMQCh\n/wPGa4xMBZjjN8vNO/WAbNi/oFSl8IcV76/ddXVr00IBy3aoMjN18PaMfsar\nFEnjoYZrQEsn7spK4KtF9Ad6pz3+GemjFSeSkQzxh9MoNnWlWk8H8ZHXxNS1\niKj+7uc2oIrZz+YtVBB+dgGOh7FPGbofvWMiK+p8uAguHKMCtpOzpaPfLvax\nPkawkvnVNyKFTJXfSHX7kPmS/zjlRBiIWPN3DvYGGN03RQirdhlS+SO4IDl8\nvmU1L5dxoicNZ5qwIo+ClwgfPLRe8g5/mTMDvErNsLebCGOi5gSqPpjWvNSY\nMCP8J2Q6+JhWyJT4S7ASVTtwX67+0xr/lDmPM7LHbnJDAasHJ06hR4fzHtQ1\nRYiUoRw8an2XSUEfT2zcJGdPMTVi46GwoCNM3jqJctXt7zW8ATeRome7N4A9\n3Ia6\r\n=6X1Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICipKxWONnESp4yq3FZ6NNAn6kTvk27gdbeNa8bd/5RyAiEA5hYRS1EiJ6HaOoQsrtuIJud0Y7LMN/ygxlUkR/2gMEo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9cff00b_1586911783950_0.166198016172584"},"_hasShrinkwrap":false},"3.0.3":{"name":"formio-sfds","version":"3.0.3","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"e0e1ce704b16299305c6aea0e84f9e9aae5e60d5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@3.0.3","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-+bQPJ8P6HqdCaNwQfNB/kuUMdoHbe6rUOLCywl+cPX8usaeqwLW0DQxrqJSi2bpBGl2Ozzbxw0TuiVbOsXG6bg==","shasum":"12bb30b53bb1dda1622f23c23f66a5c5e468a4cb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-3.0.3.tgz","fileCount":182,"unpackedSize":1049803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJellsLCRA9TVsSAnZWagAA0MgQAI8DoLgM/4q0uO+BSA6f\nSRVbO9KHVIYDG2ZOjXpoBGwmEv3ZFZoAOF6S6yZpond4ijAOfO7js3Mhse5f\nf5+8rtzQNzKJ7nmJGlp5wgC1KFc/e3y6s+uDwi1EI+Gkq4ObIlF8ojmuKAbj\n8g19WcFx8kNtsnFJuOf4JjipjgoeeaVcfT0JwUUjNuBWpgQPUexamHtKcjCa\ndGSGs0T7i/fpz2I4JuEQTON+lg2es4tiAQlJyhFo4md3mHlvVyhGNd5EcNSu\nSogsEd/mBpI5HqocGjbBMZ9MEklWa99QD1las60Fxd+Q3G3lEBEdFYi9oyPZ\nE6YxnnO4J3H8MwBOe6WEEA+lrJeRh4WE4bEc5eJFB6HjSk4zIiMWksfsGaAH\nHf8Q/xS7Q//kDlwDbI8zs/FgKdxQLp+L/XEJTVAnGTiptwYrHTTvlUPXOurZ\nnu1KumAiFVH9N2mjbaT0rhSCjON+sRQ0L49daYFb4Bs6NRQaZwd4VmjixknS\njcvSJjjWcxy+4MThyK1TIulw8WpOP0KAZNUx6hPs0DzgewbU7XwqR3y0V4TK\njMqCjFIVHDoEHaNpi/Vh+YgO/V6tNtY5FuyUv0WdPCKAFg9RqCaeYO34bXeo\nOhe471JSl6rrJ34/akQ1AL4MUQgTzBH5t10nKSEUVaJKzUom54RywAaL6kIF\nT+xb\r\n=/fDa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEE6X5dYrlI1e/Md2t+DHN53WC7rZpXZLt9cErCui4g8AiAvILibN6NI5Nl/LaOCZayffpvdc0kQNsulL+2w03r7AQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_3.0.3_1586912010847_0.556240298328508"},"_hasShrinkwrap":false},"0.0.0-b33794c":{"name":"formio-sfds","version":"0.0.0-b33794c","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b5d5520a34bc780e4f5ee32d5291eb170b4a7e09","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b33794c","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-HBf8qHH6smNTXOu9prx7nO5RoUIZbxLmDqtNsy2icUF57TkYPJ0gXyXb3xgczRVGciDCJWQulHJxfZa9wQ8/cw==","shasum":"d8f19ef685ccead76e86d04f01aa71a94367b3a1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b33794c.tgz","fileCount":190,"unpackedSize":1146089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel2O0CRA9TVsSAnZWagAA6CYP/jq2cICorDq9C19Yn9eh\nclZXy7vfOYzPeXSFhmneEmJVYcYSI/B85UYqg/FULVpx6hQIr9PR4hcmvlsh\nuPtXNhqaW3k6pwBn6G7caqy7bduEqgYdA5VzHWT58/cLl15O5UeqDbz/fGiI\nv91XVIqFVht09j3A2MX6Yr6qewTcfqFtdB9A25YSt/ScrK1eTI7nR7N+uOMj\nLC15vauhsYVk82VBcSSQH6vjkfWJhepNAetYqjUKDVFs3/UYxluA+cW4zSnW\n/PxXhEYNsEHdDZ8Db3o3wtk4gEwgGnRUPFCpay1Kj/+bmVhJ9Pf26HJeMhO4\nrIICSlvV5Gmyc2NKsrsnkBkOaNGv+UoGcTCSs93oamskMmqtemEwMdXctwXa\nNbkkC03rmvuAP50fJzToVaZPckLn+33pa+7tt7LyR/FI96LulLx6mgOcpOJN\nfO/NNvq0vi+1SvX9gMvUvLyi9h4Siiw7MKPBsvQPInwwPZQMKjdz6pPV//1G\nW6uw2H/xKqNz1GvqL3RInNYe+eViEQTRdApQ/XzUuBf6jl433j1vh49K5zAJ\nfHOVNdUR6kDaAGyKr/9S2BUqmOlDaIDfCTJD/H86eQjAzcJWSyyNY8fx1DFn\nGv3IpXRlXT9Em9fn6drKd/N+g+ltne5G1uAGW3scjWLfB0nzLArLsZwDUcnA\ng8dk\r\n=LEJS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCekxG+6gALWxqG6WiXLLOdChOWYGv+9xSGEKls57R5ngIhAJA7U6fsAx0qk61mTy5SIsc8id6cXsad3njusdqkm8BN"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b33794c_1586979763322_0.18242410158096956"},"_hasShrinkwrap":false},"0.0.0-4bf2c8a":{"name":"formio-sfds","version":"0.0.0-4bf2c8a","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"09d02c57f1333309c053de0c1b06974a55f05186","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4bf2c8a","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-M26/B5MZGbDKKilSz1j5/LxA0SgZVpVNY904BNBh1lfYSDtpJAxBQVj++AjRTjHYwGrImT5QryZf4ETCX/zwiA==","shasum":"62c7775246cd12381b443007e971ed736cba1930","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4bf2c8a.tgz","fileCount":190,"unpackedSize":1146463,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel2TECRA9TVsSAnZWagAAacEP/32PPR83hi4Lw/Pds5KA\nUCb5ljAlO9c9k07Tb8PdB1DD6fHZOJEH5IMTpcvbFWst4f3LtR021e7GZSah\n/fPI0J6GTuA449rAW4N8NjKu5idR3LxSZ1ySwMBLkrWsTRafjFtkvW3DrEXy\nu1Xj9U0Szr0UY0qttdhI5gdKpdoE+UivrPF2xQJiEuKGA+J6+aVAXhaYgf8c\nGwYbpheMJFJaDzorR/lh+/+OdTpXLWByYO383QrP524n0GPj7Gij3WYHcqp5\nHySQ1AwXmRtC+WxtG6EP7+ZZXY1IuuSOn9EzYGydYUW5BlEWYlVYfoTtSmPk\n500vV+tShmWSaz8Up/cePlsHl0ylT6RWtAfLBVvlDXTVO/X/wRDiMX+bDb7h\nE6leiO0gyNKEUeugO6IaIvvt3JYQmpaKSZgWn3D5ny1B+2G13t2/hrXYy9/w\nqg3u7zGeWLxE1PzyvnCWsX6NW6E59VF9273tvz2Fnwz91hzA35C0H0c2cTLv\n1sMMoHm8LafOE0bJULg1+U9nojCS6BtOZGGldQn/1w3YTkQAM353//FXpcvq\nHtyr/gRkurMsg15LbzFDGMwL1XJ/kQvwyYJFnk57CxFhMFx9cTXvcxT9m8j4\nyM/gnF+US8J52mJj7+kaJdYogyt+/vm0uELCb9ptRAldk4B+IPd3x30i/a6y\nYm3s\r\n=aiwl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9ZEUTXrbDIdRVTCe+PYkhcsoDEBgj8MI1ZAdTOXIf1gIhAK4Fvkd35RrUXKoeHgsItQTrXkKy66rjiH6n9NkRihI6"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4bf2c8a_1586980036289_0.4944236761635481"},"_hasShrinkwrap":false},"4.0.0-rc.d2c5042":{"name":"formio-sfds","version":"4.0.0-rc.d2c5042","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"5af926997945052a43cd8d2a48f0431627b045d8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@4.0.0-rc.d2c5042","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-cegScZXGNJrsqGorx7bHR5f1R3+z1WLoEaN9DsIBQJrVPMSz5SnLCxgXaoofqstIN5fqc1TemQrH0r5GoI1BUw==","shasum":"7613f2759b0d88ff7a388e76a4c79d1c7935fddf","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-4.0.0-rc.d2c5042.tgz","fileCount":190,"unpackedSize":1146466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel2vSCRA9TVsSAnZWagAAT9QP/0cqHfzVBzpCzCXOH39N\nf+lFPreMC4ilYJhkJIrGB031kLfOroo1DoQDMpZQEQscDhhuQUiCqVCuWZSi\nWgcZuabJ+9GicTlaAJjcdVRfCUqmQW7ptTt0RAXER7IcjZhxAFZFrMrWzDSY\ne1uDKwCow4y6fRabTF9M0uwAY602hzcSOP+LzYYCyQNeQY1jRKZye7gxSrCr\ntZVgr34SvlUM0aJ7g2cKCw+s00dPvXMQyQnjZ6Lu12Q9YtmpjXeqaEyJIkIl\nmS5egD+rW2rBzmzkN8LOeLpUloJLX+AoIfd5w7jwpFw+dyfAfPXazArPOPKT\nUbGU4SPvreZG5lSc9vXT4ZPgtvljFoTBcjWx/j43G7AlZcJIJY7J8tQuPt0H\nunEKBTqdhYUVsBJSEixcXN3e3SSMU0HodHk/ZSCDliZtFp+M6CBEo4SGGSFK\nduf6EYt3Xtdz01eXny8cei1247EbMIfx5uGBsizoGaToq2+FuIltDOScPXX+\ngKh0cgtNBHEd7jL12wyzhXEam3rOcpa+N7NcLXjdgR+Rai3yYd66Cb2bhv5L\n2kPDidFKw2Gd3GxhHb4aL5WLcDIC7MWYW60hx5ZcYO1joWNQUlyPh+eB3ALC\nLYWkRUy3P0Nq728cKJKDiScBC77IscWku5p0y43yKVW6NYjDAwfaHHA/7V3i\njXLl\r\n=aaLj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWP0Eqf6ayJimKN6m1iVN+WpAJXT3bN373FNUvPVEzDQIhAJibyfkmT4EKPWsGNeB/OiugIVbl+ORfiRXWxGt3SawD"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_4.0.0-rc.d2c5042_1586981841507_0.3329993203663304"},"_hasShrinkwrap":false},"4.0.0-rc.bbbcefb":{"name":"formio-sfds","version":"4.0.0-rc.bbbcefb","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"0a94d28ff7789fb24659e23d67b0266f327f9c62","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@4.0.0-rc.bbbcefb","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-g3t0txqqAq8al62tTclMfbuWtfNUi6/1BOurApANEc4alWkUFl9pI60mgd1/xLmtz+7uwlpblU8keyzqAjiXKQ==","shasum":"a17f6bd69c0b8092a4da11c6d78e1f26bcdb1e85","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-4.0.0-rc.bbbcefb.tgz","fileCount":182,"unpackedSize":1049814,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel2vlCRA9TVsSAnZWagAA5OwP/jkLtjsgt9mYLzkUCsYg\nH/VNR2rvQ8Bz9umKEdFd8RDxSpBeWZ9BQKL1qvC1UEzKrqSwQpP0yEjWEsBq\nRhXj5hXlt5qfpHtlOlk8+09VA73/jgihLcTcMoj3sblVPm+5gsW7xp6z/DJx\npEzFJr0eVSVeE1viO24+IYNFtyUcuarO4l3gCZCRUbdbp40sUVP5EzaSWmn1\nrWlaoTJycsAe+60PxC5z2865pkRmESyJdl/UMvTY7M70q2woiRtBNYy2zgCk\nTFkW76kxuUqjx//OdA5skYSGORjabmPMzOEMU54UU/PHDMHX15V4rprHUaRq\nW3mYkDi0KxoJjKyuo3gBZgEbuQXs6VwgDpVXSl2eDsg5mpn6KtD4p44HCNQI\nuTe/AeS5VQNi8YC460SsfjV0+6E7aBQpqRtoPAzLI0yOtkuxtQQNHs/Rkaea\nUp2m1z39pSCofb/yxNAeg3FSjKe/JJPE489kCcKEHEWYAbD48PaYhzNP8xs1\n+fyHd5w9C9VjokCYqzMpYpPOXcH5NhsNodHmo8u4yD8iMpybwjswkgV9Rjqd\nbCxvM0WWLow2W8Efadi0/UBANIup9m+iG1t5jWTyBgvzbk19GIqe2vs3vdaV\ndwtzxN8jMXv5SRRTmW6b0RQzJRjR1CL3/Od0Jg8CJM9qDVtdhDq9LqS9OYb4\nvNpn\r\n=fFTm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDTMdddKYxh5C1VP7SqkwcR6o20JpO45qE2xTBjcMFx8AiEAiiXqV/6P+xu17lI1c/PtmFsErdrrGXloDqVRpKAv6G8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_4.0.0-rc.bbbcefb_1586981861288_0.8024367285846485"},"_hasShrinkwrap":false},"4.0.0-rc.94b2e3f":{"name":"formio-sfds","version":"4.0.0-rc.94b2e3f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a152807b99d137b51da0a3de9bc16cdf28cb8792","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@4.0.0-rc.94b2e3f","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-z5PLjPn4dwUezQ/IFSDl5cAL3qjzSFFIdtGLEIpO55YyDjupS+Oqbn4nsKhdjK4XHA2S2weCbBzKKtn6Zy3wkA==","shasum":"027e53bd269c517dbdcc001e8871f23cee0b9105","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-4.0.0-rc.94b2e3f.tgz","fileCount":190,"unpackedSize":1146466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel2ziCRA9TVsSAnZWagAAaaQP/jErDFaneYh4sDoWXJ/N\nRttjUEXXNWkSYarWcLVpajPmQzY//UIcDkRJNckH8P40RFFppiSRxC2sM92m\n7FiJp391+aG9/vXux/lwGeprr809fQhp333mGMJUswyAC76OvIGxplhPPC/K\nG/pzo1gqma5+M653UOWHkc2yBo2tokVuqkjAWOLa6GCAQiethx9yCBRlBbig\n+Hko0l3LgXfiGRKUgGOphUMLmCUwXOlRqMHl5DPDDioRLQ8lxL66ZwJXE3ud\nR7eLVZkYXVCS3qUrcpGr/PfDWZH1rJ7QZezH+7jXAH2XrkhgwIe+kCnaOlih\ntHh1djFHVktkPnbbSZy1/PNBSZcCWsvBs3Yx/5/gZHuC/Qu6Z1eKM7DeF8sd\n4Fyk06dxpobrRYItaAJic59MVNSLsWp+g6HqmXOS10yV3GTGdSNbIT+bh31u\noj7+tPz+1cGZNUYeiEe9vgHhXQZw9x9MgwRMdAGbRr9s+zOcRnPsl2GbVWjw\nfgPLvh5hOPXbgc2BDWmOC1U1W0dmBfUnrKJcFrFUqYRz9+e2tU9jUEeUcPQL\n8/m8aXpjWdjoH4fstnQloraaFNiImOmuLQ2dgTv+62tspJmhs6gvTLuLxVVj\npc0hH3+ddmsvt3YFCtSmP4vrokDMEszTXvGIpBNUn3dI0e8Bvbya1bKhayAA\nWnCw\r\n=cEt9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDgcz4Exisb53N2x6tc3UZLt7yqhAIHA3YqULcdzF7t6wIhAOMo/TD4yb8aG6CUaeU60Ox5E80vHOItAkRJA0FWv3wU"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_4.0.0-rc.94b2e3f_1586982114363_0.16171912203543548"},"_hasShrinkwrap":false},"0.0.0-46d63c8":{"name":"formio-sfds","version":"0.0.0-46d63c8","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"3e2f956697dadaa76c6f59872fc46ec1fdd86bc3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-46d63c8","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-d4Q+YE+FeWWy3v0GftbAEW/GYHJPZKZ2/lxMcXudUA+qwGMxbJoiOTvxVmXGeX8S0bAKOiMGRzha10IFgRl4hQ==","shasum":"2e8acc1f9f6d2e6a1f9fd065d2fe5e14638e367e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-46d63c8.tgz","fileCount":183,"unpackedSize":1098456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel4UfCRA9TVsSAnZWagAA9XQP/RSzP6DVZkvIwzdIBH0X\n2Ff8PS25GDGkaYqyaBqwnTuig5qf57ytWWmFs+ZUJ5VHcuwJsJnpn+WkcLb/\n0wdGySgBAtUzKRMe0u/wYf1uW/w5wgKQmyzLTS1eteE3se7dUynIx/P0f0Nl\nz0f+AnVt35FOLsG1oYRvjP+lyeaY8pf8uCeialc2VkZjitKU53RAerx4DqsF\npI3Ow4befwKID3vsMhleaxOtJ2PLx9FSRVBHMZQPaUmdD611o65tfp9/I6Wq\nY0W5+qN6AgpW7k40stiuXPklXAqRH0BPmc/SKT5l6B9UAGv/dUp+WHhjTzlm\n4i2Uzbez8QKUVBimxad8x7zKfL3j85nh6tWVdvZtX8yqBGG7TYyzsJt1iC6x\nbe5I5oFcEK/U3+ovf2D+z4Bl3bLFRQU7O2a99RtwA5FuW8kVQJNiODdaUyE+\n9BJJNu0ZDpaGOIE4DQlP2ml64WzZJC8I0Uakiul1c7FhZiMpYVqjnpxMvCHP\nSWdX+zaN4SBfei0bch4+OejAmcq/OYLOfvgIb6F51FWQlMx2VPxvsRyFWfwZ\nP/qqoKujm93AOSguKRnh9LGC6QdLd4iE5UFhmJekKDJHvXBknBABHFT4aEsx\nePlRf9cTpWy3eWnR4TKhjM14INhJLBcRL/Q46q9hKL3xKdvjmDRFnKL57j+6\n5g9E\r\n=Ves0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAQKGM7/OjG/T7VXDkR0qTMs9cfEmAFIckncB0I2+72TAiAEGl3h03t/8CW5fqxq0xSkYy92mAhrf5lZ67S1tRw9XQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-46d63c8_1586988318690_0.07493052494982888"},"_hasShrinkwrap":false},"0.0.0-fed06ea":{"name":"formio-sfds","version":"0.0.0-fed06ea","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"2feb31a05bcdcb1ac6f2f85e871b0304044f924d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-fed06ea","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-6atViM6Iuk0hrTJ/EGl4w+CPelwc6qGcZgbsPENizic0Z0GbCMrfIa4vlM8moe8vL/hXdLl7qmfxUJJX5EP5wQ==","shasum":"9346507cb07847fd7eeac1d31a8f1512f543db05","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-fed06ea.tgz","fileCount":183,"unpackedSize":1098975,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel4bfCRA9TVsSAnZWagAA89YP/iRvjKeIRSdQoX0BkKUr\nFPMeXlaSV5MSY+BAAUvmpSxWbXsshoC2Zc7wTBcO+iHoH7SsqbhJzXYFjSJR\ny4pKts2/0RJyowuNv1TN0iXNUh0+AODKNxqtGuredIZcT89atXOOsmq121Sj\n1i7Kp08KlTMDtTs/Y8z1tpYAGm0XOt5Cge6iGoTAKRB7K5B/c+svPc/3GVZd\ntMrAcvp6qMO34Ih82mlR+1WF9/cAjNc99iP/MsLxZMOQcPkACGh1byKfguFT\nVubFL14MUJ1XjosEHPygaHIYesoHBvkQ+6YlwLdIT99Xyx8eSC1JhkDa+7V/\nEQjfw+wsj8doCfO27C/VzwPs5SljrrN3si2iySR/MCcteryVLAB6XZnbwOK2\nCdCVJ7U9DbYwrZfRe1XyB24jqwOnWTf3zHjlGDXsRZDEwesELhEYUsJUETRa\nE10kZnliVvfg6/TZFDg47KdGN+Eg3aJLNVYIm5SO/1Wk+tWCAvUvFhuZWZoA\nmAICwzqRBFVluydrtPxPVz+iAvaVEz0YX+7fHG89LMy3rKDxgwNvfPjoMv3y\neVLlZP6/4xXG+F6fPDe7RUn0XzeRWrLQ/78tyF1OAJAmJXY80ySiTECNducR\nl04FAwdEXP4Y5WAYuCcFyZ0SZn1kyFiM/yQb8tyE0fVX2MkMuvCSPDEkYebg\nMuQn\r\n=f1Di\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIcW9FFGy4/BYPbOCtHl9lbskbNHDgzyoPFx3llVW9MgIhAIwi88jwv9/B9m+vMLwavgifvprk2IsJdQbYCU0Xj2WC"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-fed06ea_1586988767473_0.95746890458355"},"_hasShrinkwrap":false},"0.0.0-8b17428":{"name":"formio-sfds","version":"0.0.0-8b17428","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"05d52bd11aea77490bb678184a768b1879656e27","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8b17428","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-xh9eDJiXsw8Y4moE3MsZ5dveA2278kSVXTFmVFzsCYXAgRnoBNdSnwQWSSGGOkWDaWCLON97ON1pFNzhfl6hsw==","shasum":"81efbc180afa94668d1b2e78886f1c096c23e00d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8b17428.tgz","fileCount":183,"unpackedSize":1098943,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel5YtCRA9TVsSAnZWagAA56kP/3OJYhdLZAXA2E/KkOV/\nYiZXVK1aYp+CRdVYaMtbNrftW8OLhdMJjRhLwW/8ueBfy2jaoZt3hYM539O7\nUU1MaCDP/mHdlmNlOtxQWrRwYQxejMKQaNZKCH5/f0PGHlzh5pWepxxnjw4s\npD+8DG5YWOK8KY0MJmOsJEg803mDgAhl8p1LYyUBcfk9g3Um6OMDYlXBBThM\nrGb3XX3YmMIMLT6w5TuEcvigURNzbjGHHEGpMhfyt64nk1qa5wfNO+dD6NQn\nGnGC5vOI87umW+Vuv2voQr1p4dC0LTN/4l/Om+A7XGCiF0tibGZXVxOCwc9f\nyDwZi6+qZBaOgehSDlGf9lchOQn9nh0Pq1MsLsoe8dYN+6nuPZf/u/tNeIqK\nbECSro2CJNVSlRT5+5delY4/ldRtkE2tY+C+4Iyo+ZBNnOcM1YWQxzi2D5Sw\n+CLNJmvKXqdxpaPtR0L3+b98d9ELVA1DB0Y0Sw8J3ZJWGysjyGkXZZViTYGm\neZ0S3h7TWvXwOljg26WT+3TgVgRBIXFHfaBZZ0haqqBKvOYDeM3EQgaqxD41\nhvD3Fo6FCNScfofWDJzVEtJyg2+KX/IsjyL5wygZ8Nrv/OQY611A/M7y9jVJ\nk5jR0vHCSd6rYzSTbpx2SAqweBazzNgg6ik9d5NR+0V5iYcpnSlgXeuskDd3\nhyQ9\r\n=gnG5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFNJ8qtxfKJWKrGgj/8Xh6Oln3L4ETH8AupImHWVfCh9AiBzzaSWRyppZeCGdIdbLb+rh2GmrjBu528jLM8YxgHomA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8b17428_1586992685141_0.7125857230612183"},"_hasShrinkwrap":false},"0.0.0-bd04a64":{"name":"formio-sfds","version":"0.0.0-bd04a64","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"54690d01b4a0d3183ce6eeaf9fe4c09a861f7c40","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-bd04a64","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-mfzCuebqu+/ruaX+tru5QO/k+7wUZbiIMBt4rJ2NrWv44ssbzNGrZnH/rKqBQhzstE949YqYLcSO+1xMmrIkrQ==","shasum":"3dd6f87bc720a05641b67a6c62f853d68ad25e27","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-bd04a64.tgz","fileCount":183,"unpackedSize":1098943,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel7HcCRA9TVsSAnZWagAA4PIQAIavtSFlJV579ljkOpvJ\n5LIfDUiNCRJxUWgErgNuWuRn3W5McD5+W2ScwNiD/5HqUvVi9PszG1yJNPV1\nNHMriy8+tWplxaV5mHQX913WHLi8oj0A7Wx76j824mv5bxiEn5fMuzvRzJg6\nXypakhOFfhRBfAzP+gbYmEk7LRcZvy3Wxean+VVcKAgY8L8gLrbgcooWHKIk\nCFJBBlkwuecbICE8hbbs5/+G/dAIKFnZG4rtrvdTSbONguYdSRq3P1j6V6PF\nTsxlNTRKISDAuEDm1HgoNv5zRAQX6eiDZSNvI5ZsioO2DjHkglFYoI0u8VMJ\nqw6irfWWaNfalRRXgxumynZLmZmQ8Vi3IaPULpt8KAGRik9c3Sp2TWuLzz2g\nZYSW+MBPZWFcZjHTF3WXDvUHssR/mkL1clNeRQRNMEUvCgkvjnnqiUyMszAK\nFrpPsFSUidn+LhtquOZmEaODfKBbnCA7kY6Xu30vbUwXZTfd+NpHyjrdNbP7\nOhFeLb3l8hhGWj5j81EmRnbI4X7F0+kjSD7AuIFM4t3vsYr//hxmcY8G5lzN\neD/dNVxOMZFQwAe473xG/Xvn52h9/2Mln1ZiQIhTg9TZxt9WWMwYCd9jkEq6\n5NiK14//xBnpkJ0VCFin30TICKr1gJx1y8XdtoFg4qdfS8TcjQ6N3zVSnkYu\n/eAW\r\n=6oHe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEeYzzMMSqt3PySroj3IkmoIo3HEEpLAJoKfKVZ5Ur72AiBgaeeo/XnLq+3K6Gdz5sHyYKDVI6rjxO8MIEnrWzHBsQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-bd04a64_1586999771006_0.10794276259911983"},"_hasShrinkwrap":false},"4.0.0-rc.41326da":{"name":"formio-sfds","version":"4.0.0-rc.41326da","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"691e3b7069897726f4ec605196ce232ac6c3f33a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@4.0.0-rc.41326da","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-8V2i99+IyjasNR/RgixJm9vpdVnhlP4w5KAuFmcLvfV9ivUzp+2Y0AkiEoLnvij4B08QarGBhxvUqayJ3gS7Ug==","shasum":"eae33b4e090d76b41ba3774a5c63e8f9cba420af","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-4.0.0-rc.41326da.tgz","fileCount":191,"unpackedSize":1169365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel72yCRA9TVsSAnZWagAAJFoP/iVKEa4tXABPMO7SitSA\n0fqfPWiyuXV163CJ6smUzcNXejEDSSRr0Zbsu2bqLwQWfnVa5q2aIgVz6mu1\nJD8FEtMQZVGRqqD/2Pr6nvcf9M7QCYHdl6SBoYPDZeHPfyKfd+v9f3f1plsu\nwM/3uen0PgcIyqF4IqG5aMueMMUNFQWnRsYDq+P3QmmVem60Tn2xOtQvbv0K\nCn4C6Rgln6JvLrBQj9xIU9f/46XGC/fcmjyaVUq388WhlJS7GTW+8txAvRrt\n4MpqO0mc+6VlWETzYvpkNsYDn+1afaESvsdq6BgYioSHPxwIrEC8RKnUdqg9\nQBNvp/79zn+nd6l8k7FS7ar7zVETdLEsbrEVyb3VmfyBCYZ+cT7uSmgEGEa8\npirsPh18rGmOdVCsdYFAR5ro4gPKyAePGxsr38loDbfdKydbiuajOgu6wTo+\n3YLZZtjJLkJX/iwiQvEfGD2LDVaVY3Y6IV/S+HM7dl72xVMwHPYX1kMMNlIv\n6/AN02+el1oI1tqifc4vv4J6rXnpQquWnckeJt5prhsTKABNXh7EI60LVR9y\nmxnQgCVb9dEIokmyJ9VaD77s9S/YPydXistIiO8w8jX6esR2pUtPrfzWeJzU\nritkGTlol2+cnDbozwQEEaP7xmGSnTSgMLz8bttwHmpNFw8dhczbsePNPPox\nUDgk\r\n=OwEd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE6mW8d/3MeY/GbbxZW6bGN6N49W6Is5JNONlkzWNZdxAiEAwXTESO+ifvSnpR1onSV5gnie4bfTfUeDiDKTrJV4Vrs="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_4.0.0-rc.41326da_1587002801514_0.5023552219910448"},"_hasShrinkwrap":false},"4.0.0":{"name":"formio-sfds","version":"4.0.0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"959b4f999d74a85eba90786fda65825928cef3e9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@4.0.0","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-CRRQxzvuLBhqK+aLFJuNX+iX68ixpWJPNCYP9gq6/DLxjAu2lQemEpkKG5XKE51stVFAuGEAM0BueNb+Aa4w8w==","shasum":"69e0f42f9329be6c53b4e3f61feaa62e6cd0a6ec","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-4.0.0.tgz","fileCount":191,"unpackedSize":1169354,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel75BCRA9TVsSAnZWagAAvsoP/2v7LnaukcqhX4bqcGR4\n+LUF/BDii9Ch6fQlo4Kgqff0955BY/lvQ2w9/9qVGAWF/Et/WpqjtW6OLc8S\npMM5KpEmlXRpIPB3etQ+Ol7aUHi7aKC0u8IP4yJ5jPvwAnD0L7/h6rtmHg/r\n7bSG/pfHwE1YHVY8hrLCOSL6HwJXADjLSEmmB2sKu0DiHvYcwUM4PqlRDHbs\nsYUohvdxKl1imQuQM7qgsz8V3+QuU83vyq6OqJVK5ZN6WIQAdxy/ZB9334LD\nJfbpLEQUVA9nw0QNxQOj7zVLaM7fneSRlPIPNE0eFF9tDLKJ1vSbdW5JQQvC\nrmljGwH0DNOt9s9s7T+6o0iK5uPlpTQwR8Hp6auwoVvzkfXiqTxj0XE0hwl5\n1+A0b5HaOo/6mJwpWbNROGDhbcEO9+FkBaWLZxJ8jJZ8G7LMQKn91X3mMgDm\nOeU/tBtd/XqK3a0v4hV4EaTpr00DE/jY33A6yqG8NTupBX4SGFL/+gIxQdDJ\nIqyxq35iJIj5qcPsqeEylw90mfe0T+1i7uY5caOWJ1/8ioPQBWRaMp6swgi1\n8JjSzVV2bjn6xlvL8zLqYwZ+FyPql7ujykFEnFny79pISwP+SNm9Tb3rzJRQ\nGH7lFMoNl3joeUE4BRFWwv6KMrLnF6/fSCtS4YOhnEX1PyRXO3GArWaYwXwE\nMjcn\r\n=TzrO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7zGKTOZYXgh/ZRPmEXs1/sgLCC6HQlqXmRvPT3wDHDwIgUomJjSorpdPOQnYodGBHHOsZ6SOikVCg7CdssGUPhmE="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_4.0.0_1587002945066_0.9140009982515271"},"_hasShrinkwrap":false},"0.0.0-10f074b":{"name":"formio-sfds","version":"0.0.0-10f074b","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"246013f519da002a627b63f72639e45c9b289945","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-10f074b","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-43iTj/9WfJXZUN9pDFnI/WFlaoPmL9cFloVXis44xuRMJKkaH++hIdLUF1fhBBUM50SPVfK+CQXg/zgB+kMTmg==","shasum":"1e670ff8122ecfc360893a441f6c7ff83a68a520","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-10f074b.tgz","fileCount":191,"unpackedSize":1169561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemN62CRA9TVsSAnZWagAAM6UQAJgWFgCblIMRx+MtcVxq\nbAwbdGmNuPKRqUwO5oLbZdp83s8SQPdqgG2sgyRexkUOiSiLeGOYSqjaQuqj\ntuZ+vg1WQfKONdWc8YSApAfBzlSH7nLm7rBhA3Bwm602O7rbXNNS7c7HV8tq\n7FDEeP9EE3GsapBb7Qxe/jFNfM7hZcsGyhKeewEae0kREXx1VakMUW64262h\nhxOyqv1BKC4SIPX+iXk00f54sX7a63OrCZ6bt8FEtoMjRKUxnfcU5ND7foXB\nBAzf8lfX5PX9rMjxAbj/Xz/uCb2BOXX1BbvjCw6bGYmGFpa5Io4oujr3bvXF\nv02XPTBYVSQax0Fx3VZi544OQi1wv4VACCyuOHgwHGdFsScBNZIQ/+SBY87B\nsuyrGQmLPe8OOVC7IQDwrKTisRvHestSnrc1EdtQ8dBTWtOhWZsCt+DX54n1\nMQOJBDamkuWaE3zFJhSLtMxYg44+qnxB7EPN+nQ7F6xLwBoj3Ywg7p2h/XQK\ntydMYgR/5O0V/4GFivvNFkj9NTlW3acpwQKtDzNGsHD/N6QuAWedBIyq/T0b\nPgiX5CwVoABckgRVnhPm74xQGTbBi5AV5OvfdUv+E0YWdBXAUsxWV42lbvQv\nhILJcsmfqLvHW9l1rOXG8gum55mDyg4z5v8lL2Uwhif6SqEf1qGAvUmMZj3K\nwo4D\r\n=G8no\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAfqikLXdmfkUbXFWUEpHZjoM0ZCP9uiKxWm05NXM4S2AiEAiBmA6e6pFl/JDmKowBPaObl7erZE0ZhafvfrCKD3hV0="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-10f074b_1587076789472_0.04444627144295166"},"_hasShrinkwrap":false},"0.0.0-41f6c4f":{"name":"formio-sfds","version":"0.0.0-41f6c4f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a32e853288b7d9f4d879a9c0d46b48f496e0750f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-41f6c4f","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-V5qrunIlSlrzez+jr/WPd2FtjWj0awY01Ko/e5I2RMDRIUG8reiNggKckbpEYANRvE88Z0ijtBfG0x6uf/NRtA==","shasum":"8340df74558bddc90f366a78b2d8fe5f1e732eb7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-41f6c4f.tgz","fileCount":191,"unpackedSize":1169561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemOMKCRA9TVsSAnZWagAAXkAP/ApMHKokxR/moSilkK8o\nnLZmT9pPYr8gUZO8EtFJNQQ4mf+Lfgr8qHo6sYFGNfo7qwfBauTITDj+5xQx\n7I95yrqxoAM8mQD7ZLHP0PL9N0l8iIAXaHULjAp+qqK50BJfxmIsXibn3GOs\nRCXS7XjbVzh9IaHrBIoXS8clSfHrZ4ayh2PWx4MOIbViXqXoMgv8N6j9Dj5U\nIoI8Y2fDvDK3rjI7osQ0g/3CSYJyF+PzmBtezaJ8NTl32GiNwungOQYHHiWJ\nqfTquNhdaMCNlaoMrLFww2NwrGbI+YM4/kdffp2KiBA6mvQz69xWWwpgOq92\n52rDgjfgQGP3A10PfckOOpAys7WZhmOgY4Vro5RjtyLN+z60iolKPJVEfqVN\neLBH/RNyrJRA/NLbPojTrj4ASqCrIA2LJIfdIlBXpv75qhwr2wqczDjcHTlq\nTz6wZR64fTct7qg8+8qiEXrlHpNVB47CztzKfuC7te64FZcKZ6dbqSv+xU71\nIAbKGtdKCX1V1lToRcV2lg+Y1QKTgIW0wG+BwqIfLqWAo5DqhA7TCUNmFQf1\n2YLAIS16Ih217RRtPRQz/jdaPuumpKdsqjMrFBL1kFbAtpSgU6kX+Kj2fa4w\nxyzXMB+cfSUvHWHDVHSbh0UkMESWya5bxR03ybuVHFWMroiqt4KNN9Eb5TmR\nPSJw\r\n=6FrN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEgGngdo7kG3mcEm7MCzSbNDQn7Qd/Qtm/vhRiOoAZ8hAiB3DHpUI9Ic60IdbxrDdcFK+4quaGV/4zOEzVhZNCR6Lg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-41f6c4f_1587077897928_0.7103878432787167"},"_hasShrinkwrap":false},"4.0.1":{"name":"formio-sfds","version":"4.0.1","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"b31417220da250731e271c93e1c2d13310b73cfd","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@4.0.1","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-31CA8NZnW2Gi1jRjHLtgQ4IC9vvF+M41/MYe630OcELP8qa5ncCPr9E6QY1Vt/KegFarYrW7gT6BfdhHgTFcmA==","shasum":"4cb49c4f52cd39566571d5e49e2e8684e6d2c3f9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-4.0.1.tgz","fileCount":191,"unpackedSize":1169553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemOVoCRA9TVsSAnZWagAAqfkQAJ6SrffihZUVBURdKzZc\nxv73XAwE+1O9nR0DeD+4SZwD8ygyEqgVilsaAxQ0duN85Mgpfk8Xc4WscrQ9\nYMg0COuSPx5K+83yT1bwR2rszxF6/nieL3L5rEIhVivjohI5RFpXZ/Kv8Oz3\nbUy+NFB7RC+Jwnbh9cr5fBQsUazjyVWGxIYWxclu8MqmpFYNCeX4byWAu0Ax\nHqRUnEn5FsS66p5MsWcncuiN+VJwNQfpZ7sdNIX2kPYnZjT7ivGRS6nnVAIf\nCLe0iFlZ28Wsj0+aisWvMshQ/mu19cBv5LwOJvGuTui45op8ESPxO0bioW3E\n19bwPQBYNznx4C8SItCPgY8+wEVdhZ/nSl7eLI+z4dZb4e/F1pt1+JvQw92J\n6IdA8wwyU9RJ4HajCjbzYxGc8vQaxyLwx3/cceNkU2j8eiYC8BWZa0ZPnxiC\nuyrGE68iOeSEz2dnY2aqDdOkVsHYW7yIy3wdxZVXK/VVJME/t6s4Zkf8W4qF\n0T6e5v5K8MI4OBQ3/ep576tJdLIPwR0ejiuvzkk3YT+8XJqYCFb/oB02I58Q\n4pupGheyAGSyIRQ9+/c0uOtGnVrjduchFdcHZLRCMXA7uc+oilbhIrSKS7IL\nYpap6uhLVtHWsDN16ktVtNnazzIw3YEEWw5/JhIIXUOhfSeu/Bl24MFt0TkI\nzlQj\r\n=nkKA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHjWqS+Xx+EZ5xz+0+TYss7682TAzCOg0JRzwggJKkdYAiEA4SpCIhPxuGS9/pI5LzrkebiObgoglfuSZwTUgnFtR9E="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_4.0.1_1587078504219_0.4389849372978907"},"_hasShrinkwrap":false},"0.0.0-4161211":{"name":"formio-sfds","version":"0.0.0-4161211","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a4176e5d32d4f706fa5a1b6d4d0bb7f6994da641","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4161211","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-6SETPa5PmGNByfKYvdw+mPf9sb3/XtprKOe3SJEaZcIVxf6ERGqy/AiQGXtfWSRf4N6f951Gou48nDrx9XBerw==","shasum":"7f9675d8fc3d6fb102e4aa9dc7b2699f015f05bf","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4161211.tgz","fileCount":193,"unpackedSize":1194805,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemefiCRA9TVsSAnZWagAAzA8P/RFT7FM7zsZW3uodK5tx\n0lbeX67jZSK3h+roHki9v1ZCfoGYd2sjA/F5YHIp/y6KBtuB/mJOPsZh/LxY\njEALa2rjRrkoA8/fhWHv2/CAHbr7lVcJJoLO6jAHLnruFaOm57Xs7FprKSDq\nlub4vU4N3OK/d4oKHfrdiBxmkM4NmkE6/anXH5UX8AF8hFC0TNPh7vvyjFwl\nljIHWRW5suvTDXqyr5tNXyW2ks4drl/OGjH/OJeLosRysOOpkX3tezUYDSZK\nj9PyXu8VnNaG8Y4fJRqjedf+G3ntQyo90eD9VK7zZMzfPG4N8HizbttjrWMt\nn3UKNm+12XOxRsTglYyUwGQIkxufLuv+kUSq9UrAoMuY508U8dOJNhUmTwkr\nHhHQaujPyOrZQofVGkDBoIlZIcFcq3+upQCgJq5UdQ+MlQwqhA4buwOx4lPs\nHre0Bqe5hqpcGgZtgaBXScAT+okQDfROcAjb1yMSz6sef4jD4UUYYjr88ZtF\nIS8wplvewmKEgxQ9U2iqu+2PRtaBcGs9UVyKBuWO37O0+FYdqqRT1htDIdbe\nR60acLYLIZbVUZdnKuI9AXMnjpLKeDb97TCFutUl3F3ZgEbdczo+5lLdJJBA\nU2aKGRAS1squXMsQStUFwbKQWEdCMk7ZvBMFkbyxEM+f9RjEbfg/6IWEnBt5\nHAGv\r\n=sBcg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIASPbr9odpwHslPTyorStzTwf/BZqNdryi0mYLCZ4cciAiEAli+b1ZR6edx4Ulr9KFG4ykk/3u5mKQDZEVa6slpPn98="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4161211_1587144674222_0.5247931857410961"},"_hasShrinkwrap":false},"0.0.0-2755276":{"name":"formio-sfds","version":"0.0.0-2755276","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"cb3dc8b065a33dd4e5f72463c5a27eb1207abf0d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2755276","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-ckN4YgXP4ZNXm21lH0pGKTZxJtjRKYd6lchhny6xFaaNEofgDVv2GzxlBMioDXpfpkBB1ubrU+jeGB4iPhPXfA==","shasum":"b9bf909f28481d27a4702b808c72df43b807fe8c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2755276.tgz","fileCount":193,"unpackedSize":1241541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemiWmCRA9TVsSAnZWagAARJ0P/2rTTSZh5KTyRrGgxNw8\nxtZ9yBZ+Vg7bB6q+SbkAgEthv7EAzWbPiV54xe/LzHmITSuLFJgflhY8Jp+R\nqow8fdhc74GNm4NvVz1rc4eoq1NHLP1DkDDvCaj37No2y1qeTDryjTgrMQ3m\n+uDy7jIK3ufrQIsHNJf4jk2+qhIIzHFip51DFYipDo0LbZxc0564r+dXS8ym\nMHXbzj5fR2mzF0PdauCZQvgUWzycm3ZThKYuxTRKlXRcZ4GCM+fEN2TKTjH+\n8pkkMbRNZdspwd3GIHYg+qZSTW2++SwXPYej2/jLzD1q/XfswS/THQ+JoV+V\nxI2j2Nd7dyvyfOYROQFwkq8D/0GUPsL11sSLpW2WblrnNDoQt11NXDrhDjGE\nK6E05XISJ8lEsCUPZxp4Fai254KqAJ2lsWYptilH+Qna5FQPciHwtI9OSiBx\nx5mgH/AMqkdqrvTjgWhOyzMjxG3qjwReklronfpA5qrZS10aIuDLc+cGOoiB\nXfTOmgIcWT92WlX2Xh7rfPSV4ONxtjrBUFOXXNKQ9kP7dK/C5Gtf/ZH0Yxox\nSbIrNDEl0Zo4RCdkMSf5X6QgywNdM/iMQUVmCJANjde2z8lJQmmqfGM4NAYU\njvh7qSpFT1VZQLzzizscolNJCPdEqS1xj9ef9u8Z0IXRnmb6NoGZxrx6WOnj\nuwBX\r\n=essA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4bCtM1R8tPH7Tb5X97tJwjTOYhHpnVVZ9/00GReN0HwIgT03dmtMVwyE9rp82qONj26gFBDufPB+B/H8DOIfD0vw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2755276_1587160485638_0.21724478244123446"},"_hasShrinkwrap":false},"0.0.0-f6b38b0":{"name":"formio-sfds","version":"0.0.0-f6b38b0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"995f9830503612e82fa6f0692c582229feb77773","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f6b38b0","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-e4C6WyVMmTQPSqTQiZh05WE/cmmTAUh50tYqnAvWBKGPUov+MyQ777YXqOOrUBlxDmGd3P0eQKxXMuvZUrSrkw==","shasum":"adf23e9b0bf49e6ebb5c071c1f455725ac54f233","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f6b38b0.tgz","fileCount":193,"unpackedSize":1241541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemindCRA9TVsSAnZWagAAzd4P/261E0orL98/tEU3R3Cm\nW+fWb1xKzE/I+OqrEyK5bV8Yv/wQUMJ8oQOMEnTuub2ST+L4FB/c6x6WubOd\nJvkVwq8CXPY4Yn52rbvxOnuM9GjcPv9svxbDaUm+pIUUbw46mVJHlVX1H+cv\nuPwn6vbzkietk+jgM8v7Wkdybld/o9HN4tFfkm5VQ4A/8xUP2LsKIER7h0oc\njr31S5r5wHRrpDc61wwzdZOuUvH8TvDi9N+Fv430/BOr9Wyn7gEzyzLKZ3sq\n8Vzwj6CE31T57uXw9KxsBDlVmEkchCWGXSTQrss2Ah9bfKkBtXKh47wV/NSx\ndhHBPHgtI2DuYV0mPSA5gwBxo7QpeOUKjpszqmzTtv/0rDexf7WC4DAPoMZB\nHvwvYjKrL7JdPv6WcOTsYpb6FBvIyB007f9e/MJKRoHxkFyX2vpRR2IgNGAT\nkFeCluvDCHSmTO291M37Wyy3JUoItTO3QI8L+Sa17+SZp8AZv4LnFIx5qBK8\nJ32is7yWvMAOQ3YQ4LrivRGy9jAoMb+CmYu8iTwTP1SWojpNPv03l8YLkF7G\nWUuL/D7VhsrYl5YOHCrOoUoInfa/pcOip5e40/1zEyaQTZlBeYjhBEQmXwyO\nOrlh1UwZ0nA0J7YFJ1zxona25Gu5yRrWs/AsOIuqtC27LHot2zYWE3f3Yru7\nv1Wt\r\n=DYNA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDevJigAFtKUgUw7ntKkycZ667OWPsTonkixk1MewGA2AIgWlqAUHDmCdG3+pUjbERCNYfBNZWpgu/0io8B0Ekb0i4="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f6b38b0_1587161565058_0.3853607036661095"},"_hasShrinkwrap":false},"4.1.0":{"name":"formio-sfds","version":"4.1.0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"28c4e264df29f78afe77901421ccffdb7d2acd94","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@4.1.0","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-bXYqt2z4Em3bv5hyFfQ0l8UUojh/EOx9mV+94OtUW06sGzcgjJC8ASaEoExNc1pzeQfJ607LWWWwaqiwePbknw==","shasum":"5a2535ecc5365cf21ded613cd5fcecacda425f92","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-4.1.0.tgz","fileCount":193,"unpackedSize":1241533,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemip0CRA9TVsSAnZWagAAeasP/2WDLZxxvst44CUUiia6\n1e+lodBeJqlA6r11UddR9Ch5aaQCYP4k3Wm8WMejqv/aNP3J/XeCZXgjwdeX\nuNQMEptdCYjtLXK1VPRDo2KPqBl4/MnrrE0BEod0cl1RJFLc1Rx5SKflla4U\naYrTz+sTeEscCGzpxtsWTl9kpphARguMfiRgUZdFhdLhDVvLTFg+SYoXR3lX\nMxPk8/qRT15lEk7tKIslKRzXwcwk4JP1RP8gGkk5immxzh73my64h/z3KrUL\nSJ7erEuYLqhULFDyb2TDYC+tXN0w1hFu7pTyh2l9jwpNq1zXAJaq7lBBGRYG\nLqCFxoJHantCJqvw5KMJub4gMpezW4MylFZaN31LD/IZftwY1SzytYwEOLMP\nz40K72h3+Y+f9k3nZiP9auDridktDAdKDP5ANJBvVaaj+Ug4J2uIAFEsvf9J\nBIVNgNQupsyiT8SUtVl2/KOJxfF8gLZzTp4CkQpgQr4NqRF+ZGr+pNDDcExu\nOxVBDJqUhmzdqN5QEaSZMn1IKQUF6u65QAknbZ4xH/vI34vtsEMtrC4JVEv2\n2ogMobmYPdLgL741qc0JWAq/G72Y3iaedFx499eaUX2m3V6BdGLbVcS4+xc9\n5/7AMI4XyxKLg67Hqcy94k5WC5zjnjhAmNTVvRo2PRkSFHSGbsOvmv7C3z/j\nTgPI\r\n=QlIp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3uragatW06WeYRG/a29+ZqeP6JODZxausC0GjUpUkXgIhAIwBBma5QtHUQLRp0C6HjNfz1uSqdOLzFbD+hAyaphxo"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_4.1.0_1587161716032_0.878556181390449"},"_hasShrinkwrap":false},"0.0.0-c41b1eb":{"name":"formio-sfds","version":"0.0.0-c41b1eb","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"6cfad07d12ba22a8bcb65f01e0201fb33f24d9ab","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c41b1eb","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-WAxgcq4CWvAQ8HtHuDi13dSpGzV1VvJlOjiXgTDVL8iz2iiMkqVfYbkXsUD0HAS0KFHD587MSCmYxxGTys5iPw==","shasum":"abc65cdaf2650e2989764f6fdd2d633a13864381","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c41b1eb.tgz","fileCount":194,"unpackedSize":1251535,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenh7/CRA9TVsSAnZWagAAdlEQAI8yWukFKurA+ZvkCaC4\nMPsAYPb3yh8zpUJ1SYIyV4oYJ/UWntY7OIdnFYoFOQpbILyL7cCRV2hHIZpR\nlJZGXARXTMEDH6YQOYKW6KZId6tS9u1dFx2e8aS5V++uEZ7s3ABshqiQZ5bL\n1Yw+J/e+jgxC3apYlpWsPTKo2bH0UoFJ1d46Qfu6jHWZ/tbILeMzwptuK3c3\nY4HuT8j+DHsw3Ei6JpEuFj7zoyIcOs91P32Y5JKFz84jxdj2c/21zaH2uZ4s\noFLR+b9IFxbEE7Xi4BGwoM3IKzFE+OTVO6WKvdUZ5Q45sgXMch3T7DlNdHJt\n8fb7ZEJ7+U6fujLM3vEhsK+ZguYMAd4yyZKAxraO8xGbDodjs7kRFLSMNYDJ\n8vmmA6PABBURbE0OaPN3DAkJyozx6K0Zb5aJF8LjDlTwUHSoOhN9POZvVZej\nn/r6kbgRHcR23NH1rsocc0x8J6GNRDwxgw7ZMj6SmsQWc1abOEdxHzFlmh9+\nnV2ofcU7Djq0t8oHrJN1wQUerK0c0TH422oqr0dHpDH9zLgIawdNcJdjUOa+\n1exX7PRxi1YGkKescj5DS3e3uzqndLWP/8w/VZnfTrz7kqhwaXLiRcTg/ndp\nXnpHwqUoEq+ryna0zbi2HdLT4m7A5ciRvO3fSLfwY2HjYen5cCqKesg/6Lt3\nkq/W\r\n=quwd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHCzMoG1kjFawXUkl6zgQ24keUWPqzD+ONqAZe+RQ4I9AiEA/O9gRz5Lkr5nas7w7InG4pRuuukDBl4eDqxLndmNOw4="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c41b1eb_1587420926839_0.42939367935228145"},"_hasShrinkwrap":false},"0.0.0-1cc0719":{"name":"formio-sfds","version":"0.0.0-1cc0719","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"18aae76b177b83c4ff5c87243168c6de7854d6a0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1cc0719","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-ULAuD/OhA4KXkpAZ/TPsQr6MdQES2MWCVZ3POIY1TRfpt/m10EAcl/O2Yzq4Gl5GMqsYYSZcQRGzvtXoUSO59g==","shasum":"fe30dd1b14f69e77bf2b49be2af0284119c17500","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1cc0719.tgz","fileCount":194,"unpackedSize":1251635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenh+8CRA9TVsSAnZWagAAL60P/0JDHdwy6Fy7Bz7TMgQl\nJ6ExmpkjT/KNuR26/fKTQG6QLn/Uvycxvp4McGmslI/X7B09/6QJosR55xTL\nZSx/vZ/I7keFsIbp72wZCsQj1ac/9xqXSPC7PQnWbmlW2TLlY83a0Li/L4NH\n/t+aODIKB/os6ACn9BuYgmURd3AmwmB343iGKiwQ6ejF8ANhEJM76m1A9dur\nfqJN0P8yAFY6R7k1ZWLBPMtMnkviY+IWFc814CA1QbLqOh1qFk/7Mx9n6Zw6\nUofcgGtANSsoPXMOZkBkG/Aw0xHGACu84sSG9zRpdsSiGmS4rHMiC0G+jEZt\nqWZqwl/LjtbPUgYz3vG/S58O9p/lLgCahCzrLHt+c/M9pAB7RiOReQ8Dqsz+\n5BeK9gnLOSqEGVjJHpyE2Sdj1CcywgjUQeE8l/ZJjYnfRL3nK57oBFn6cuT3\nfkwnIvARm3ssLcv3B8VY0MEIuMQ5R+lqD2uylQA0Zgec7oCK5tfd0k7Xjt2/\nCv6C6siBrz1nLBHPyE/UbNd8d4prJFzBiqfiFSuvpyTnG/1O7IcCxc2uhez1\ndVTpNC10Imy3TSgmJBnLq80e+nOavMEgSUCxNK65gogUmiLzfySqbj6gD75V\nH85HCjxnhd9aHyebLKIXJ6PjkRSc95n9i0cs5YXsVb0v7ONUW6Fml94hjoEt\nV/mp\r\n=yE7T\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2Uls3A4GsazJVfTKaZPHR5uWpH0EVx/r4/bBxa3Bs3wIhAI4U87t7qPDp5Kbi/0J1aO/KN+XQW4Iz7BIXwn5lz/Sw"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1cc0719_1587421115798_0.021028228428340068"},"_hasShrinkwrap":false},"0.0.0-82f60d4":{"name":"formio-sfds","version":"0.0.0-82f60d4","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"28e237d7468a35110a21b92a7ebb9e8e6edc10c9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-82f60d4","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-OHe+VJW4KOtpMq3oLkQCZ4JVdrU3Hx7A+4THInUipPIOvjRGHGvhQTboUFDIHWcGrePUqiMVCCSM1rEWIqXpyA==","shasum":"1fbe6bd539c08623f7ce986cf0ebd6b8e5945487","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-82f60d4.tgz","fileCount":194,"unpackedSize":1251635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenh/kCRA9TVsSAnZWagAAPrkQAJSevVlXwfVhu4mMRRfE\nQnMFYEKI4teHg1+1N1DNyqurzMstkSYCKzNDso49RPGavvprsBqLq8j2KFSY\nvsYzMlSygfAZ78AWNSVk3c0vV/TsdzZgNqDyDgMQ2CQlmsQNCmvzaDcG1e7P\n61oARt+zm9r2cFkcSEUK4PFXcfnSWf/ib2XD26st1aN5usxZkCppE380OYXv\nZFgareKlaFRbCntnySb8zdR88nDN3VTGo10kKcCgvTzC6BNoL45OHxkL0re+\nWw1s5Kl1k0YNlwxdZ8VWweYow4SmEcpSxX3r/naT8xtebJ5bpq9knoyvjvm1\nuxAiwfBteJHyX1Onb/ijQRQDj4ZUwQO1o5bq4FZBruB9vXP5LgmVgJdnUvlm\nTQEWrpbnDfrXvDzDhD18jtddUrWGGlrF4txz9kQ1v6aiojfI6Rkc7BCFClH5\nkLVihYUI4vHRuN0kUtXn2GWdXME+IG7hRWaLoZ/LPxsInMeFZrX5IJmn74ai\nlrkqSISo/Shg1tXeIe4aF/p0+y+b0S+tx+6AGf1E8RzUYrDh7cl8yR508BiV\n8ETsG7Kmn0fvFiJ1mKrW8e/yoxfQrg8NYNo6ootAi9pfZr9ylX5GNPN4LjvJ\n+gJjpRfBTSP02YkdBqt+RMC5iz+8obsGIKlwJ3+8jwf7UKD3X5tWbJZ2AMtl\nGTQw\r\n=NCqO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCm47gq9NP8kad622pfgoSAO4aEOGs7kTv+cXmggcO8kgIhANnOkzOzaP49FGllRR0AXE0QdyAF5NBmHCTNHCp6qVjE"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-82f60d4_1587421155837_0.49014882437167917"},"_hasShrinkwrap":false},"4.1.1":{"name":"formio-sfds","version":"4.1.1","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"edcc9b27541f3dce3f54683be5ce9724c1da3a7b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@4.1.1","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-grsbU3adreSoomjVN3hSPYMsOfosd9KWGOWIvpdwqDbBm2iYCqZaT42Nth6fOHMkZJaD9Zwpg4znT1M/JITcQw==","shasum":"b39cbaf05266ae0db0dba1dd4caef25116f657a7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-4.1.1.tgz","fileCount":194,"unpackedSize":1251627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen2G5CRA9TVsSAnZWagAApC8P/iaQwucidkFFnVMZ5Vwa\nN0aDi9IKZIX1ldmbs+ssxp8DwFWETZxCYsXIH8wFhPqDgZRjwUfO302q1mzM\nACXpoqNNx0DhWW2jrYk8hJXKc5b4dlPOZkmxwVcQ+qL55Q2MRxfy9sIMJimj\n4fBvLH4touhuVDeCxoxBvoDpaupCOxR6fnNEm+PG6B5Lh3O/7z7FiieTm3W/\n2gP+Cvt6gP4zwRo8lmymIY21r2/WjUgYvdKB9m9WLu1LNYpetHKEscbHYV+q\njxsaJtK7hE0Rj30F5NNfYR2JmePltJ1M17x/BIvqezaz6E4nnDT/lyeF30sv\nEG6pupAyxMYu2fqDm1FAG53R1m1gkHta5JykBUU5IIcCp3PRebA9+NA6x+4V\nkRlP1XwLhoRB9ehTaXtU0UlR6vIM6DRfpsfTUk6gX4ad27rzLGJ1B66od/Hh\ni5BXP0l8ESQP4EEqjWNL45JlvxCkUJygLMLLy1/3VUNFeyGRRQahtnPRypK9\nj/07a5lNfOq14P43v8jHJMnsERIcOo1QfweF0xMsDId3sKFnPh0Q34J8gyM+\naATu0IDc1Prv92wNvAiM3KuosZTj0dseiSfGhJcE/MR9020N+PNmpnc80DmU\nEzDW4PgN8BahLR1EujYTj9tnUfr8Ga4t3AjvKouqAU5/7QA33hZUQ6UULx/K\nuRtY\r\n=nKsW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLIiO/5sh3ckuPBBwDXzuwTja5SdaQQNDgmX+TqzOGRAIhANbENwRX8y8tyQShlYl6yU2ko9z2+5PbjfczQu8YMw4N"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_4.1.1_1587503544333_0.04912395812364534"},"_hasShrinkwrap":false},"0.0.0-a2321f9":{"name":"formio-sfds","version":"0.0.0-a2321f9","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"f652b21ff2e08a9b26f31226f9f9d62c6cf50cbc","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a2321f9","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-FShfD2wXccU46HpO1DhjIm+FOJM+YXqt3EV+9BCmlMfd7s3uTUha11wjsm9p3H/nQ2HPDKVMcot3mwCjYH4jhQ==","shasum":"e9417bc50c08425e4ab4154bb22a756697cd7f2e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a2321f9.tgz","fileCount":196,"unpackedSize":1258577,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen2OBCRA9TVsSAnZWagAAlt0P+QCGq4w40SurJdBfRVKQ\nWaxQyXHUln3xs/whC2GaRptAWhfh3V2C0yX3RA64On63T/MklgIC1seW1/BR\naZkRUWe7MghRIbkPqmHO90gye18Omct2zYFSzJ9rJAzf21ECiH4VJ48DTrI3\nUSWpMVVFCoNpSD0ec4g+5rgcjiQZYuqfHLKHkJmEdlqp52ycBzSQY8ZIqGyw\nkzlm0EUGdIuL+dqsiOM+XISRDbZm8zRj6WxxE/XgDCbN2HbT/wr+y5lVmkor\nSDi3GX70/b/CNyhpnZYQRxVcSNDUF2p7ZOX0XFgjV3ZRYNBmCCvPc2Wd9KlX\nOMzwEXcvLx6YnoYGvkkUKDKVLOGBmEayrJ1gMS3MzV8AzHFf2Lfy/GwczJUE\n++LDH4TZg/+442s4Vuq6XA2PY4ewgzAQqDFFg1aPIZ9H+oWamUDkoJD4eEC0\nICfPHxE1rECgiAHH4UUv+vWKrPZxm8oVKzY8vrzGkLKGZJSwSezeJ8eyLZpx\nnCnY5WYQBczIhzof2MnWKYxlfDN3GmIswgY4t6g2Ncz6/YMUzXiTyJxpqZif\nG5jBJYtJsEVGafAVTWquq6+HdrBbHFjkDc+6Cmo0Zh/s0xMK81gEld7ZyIAi\nX6sFqrhSSL5yFggcJQ1b64A61gBL3rC4W+SkAvI6RuMEpTbhlsxWgw1dX/tS\nBVbC\r\n=Ooz/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC0RmFbLWOBKs2rItdmx4XoaMJNRVlmSczx5eMcZkr9oAiEAnQzuwIdG+v0P0Ckifc1GbtNGXR1cY2VfWk/syQtvDUA="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a2321f9_1587504000487_0.959170933575884"},"_hasShrinkwrap":false},"0.0.0-cecd525":{"name":"formio-sfds","version":"0.0.0-cecd525","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8e78fe654e59a4fd37fbaf287eff70f71a3d6bc2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-cecd525","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-QWeUbw6DX95vyixRZrw+ETHcW+b7rlO2EoxELDiEmSzhk2iZyLGrQ/N/StiLn7pfOwXSGZFf8WDr+wfo5Lg7Xw==","shasum":"576c03fe019eff46cafa2d0769365e3370083950","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-cecd525.tgz","fileCount":195,"unpackedSize":1252124,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen5ELCRA9TVsSAnZWagAAXoYP/jEwflptx/hdGulnfXPQ\nTDK7CBDp4OKRC5798EYJa8X/AVwk9yDyMc+GcRzTk3LET1hcnNLxoACmc2ni\npgzK5PfH6SQjtGNgBeghoWqxdnUmY3iJ9xujj7SpUQpIrkOZTqdxVrLH2LNw\ncwzYUuXtZaqnOR/vvr9YrUBtWDkDKV3RrVgzi8r+CbHyCSEKr0SI67+uQ0ie\nFFshn4dXjZxq6+egJ7nI8M+IF0Sr3m+gwNtdOVmTQ21TE5vLOCIZykCjn/yZ\npNtDUEV5LaDAlw/cMboIMUUIKwk4sFFSFNqhpTgwnVlxotL3SkYgdG4Lcdp8\nheAgbDpL1CqoeCKNdJ5djNYaXZ1YDfrJMjplaIOgXaw9ZWIkr6joP/R0BSXZ\nMKyXuJFCSc4XVChf5g7EoktcWemcgvfuBf6QjrIFxyhlOGqmJZfTG8PQV8wC\n6aSXo/pG/8/9XazK9O5h3FLhapdIGhN1nDsaic9bua1SmptQUB4FGQYVEPXo\nxgQOBSNLTJuQuJJCCvyZHOb2jVfI+GxXhn1FZjnLdi0uf7vNJQIJy29I4QiU\nRT1LXbz5B0yGV+2yRhLPK29E793+lxJLvr1ynr4MFX6FgyXyVcYFbkc9DLhK\nO2ouE613uBgZEMTFPOUKWviOhgbc3xNyEo64HFZGLEeaf8QQpRPKCxhquSyb\nw6hj\r\n=6fnC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+esA1TOmiuiQRB9SEnCPJDj1RN0t5O/phKMOWSeDwswIgSYuu2QuIEkKd8o6mA6wKLEXT7+J38Cqty66vmSP5aXo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-cecd525_1587515659353_0.26964384012850107"},"_hasShrinkwrap":false},"0.0.0-ca7d041":{"name":"formio-sfds","version":"0.0.0-ca7d041","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ea6e5c15a46d48d981a57f2c445eea4be47197b7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ca7d041","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-nF3CTzGDWU1sHQOBis+z/0rKvzO+mhBM9NeFZzw7U1SOFxoN2NI9a9qSPTauLQTXyUTDzBgJ7Dsd4K5U7w/GrQ==","shasum":"605854fdbb32d11a0718956faa004877dfe154bf","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ca7d041.tgz","fileCount":195,"unpackedSize":1252555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoFjhCRA9TVsSAnZWagAAT+gP/jJb0t3UUdFZWZwej7Yc\nq2esJqdXs1ugvZtCJDqPC5LzeKhZBl3WOUlxaN+UxISfNPzsh2QwgfH8Un7g\nLVSE+fWgF70kLn7D0h0NI8w4RtPG6vZyabAEedb5L6V4TxyJ6pqsTfJEypJt\nPv1np+8Uz0G6aoYqRR0DMS2LXf8EAbJVTjrtjuRuYARk/z445pIwzACfgFB/\nkDQ6T7xwwnyv8DhOSUl4mgdhQz+Uwgx1A8+e//UCLS+jUA1G6QdWtCSakw98\nc/2QTc9h7RRKfVgVyG8IwmMC0URpuI50pvRvwbWN+Wl50h5Nc6Gu8Gg07r02\nu2JA5bmqevkJjuaChzklZwauyphrQTBlGK+SVdzHTnnBtc61Hu7Diuhvl8Mv\n/Ez+1AJuY5iXeaGXWrjcgWVhSp9zJj2XPMWdlB9vXaYm6toGP5C7l37FZCNO\nL3CbIuFmrUbnt2a5QsJxdbwm7WdMv68CMoPlONmzHmF77ACl5cJZps4OomHh\n/8TN3lJjWkLqh+O56FcPG5LU648RMwDh+X9wUqoOT9WHUchtPMnG6lJ+hqmV\nTbumM2Z0GJhpurTlUZ3iKjBvkfUEUs4D+kICvAdM6Wdnd+xFNx3zQXspnGBO\ne8qtjXqH1e5E6u3Js/xUop4Cu3R9FWyJa4O4UL50GvN0vbjFFqTMg4ql5H0U\nNgtJ\r\n=cYSw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBAsdfqyv+M7UzAAnDtI4ZbDrUH0EjyXhNuBQxq46/8gAiBQtQmzaEbWKspT2yITJpZ804aMuJ1CRuk+THYgShQ4XA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ca7d041_1587566816293_0.009883493855990855"},"_hasShrinkwrap":false},"0.0.0-8680d11":{"name":"formio-sfds","version":"0.0.0-8680d11","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"aa36adc3410faddac62a506feb3ef002185f85c5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8680d11","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-WoeeYnHskyw1ykbWFtql9cFgl0U0uI0oHxvdu5LnwWCEmEsfSgJCQ5WFfqXkRfcbWHedtXU17HNhUyFDGEkebA==","shasum":"2237125d5691aed6815efceebf6f726af189f757","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8680d11.tgz","fileCount":195,"unpackedSize":1254506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoJPKCRA9TVsSAnZWagAAPVkQAJz+b6eKvaSYms/G23/v\nbMTjaohARtq7bRPiD7QIY3pgsagDhBfLRzaJHCZ1jDryuuNv93YSMrzqTcP3\nnIL4KejeTX8DRrL3/xR8LcJDZ3MFgIZhyL5XRRZV7mgLqgXgSYhPc10kUmaw\nY3WX46lJJOeuPa+7fs7+zSHzULBH6uaXj5RPnh20c4cJyc4EAyNY+R0ye15q\nF2hjDf7atDY1kA2DXPOy8pj/sKkcN+ZOMzx0FiCFe/Trpr+ZuBbfrqb22WsN\nq8zaFo6dMEh3/mACnVV2gme2l56i8fVq+b6/9p+7pw48foESWZEl21U85N5x\n6nm5HireJmFVe6sLXoNFHl7wPPzTZKi4yaot48qZDCxeXRAekLnSKh2xAyxM\naDcjz9eXwhqnduA6ffPYRRKt5/Mc70XS7+wTV0VFWyjDjyqAobqiSt5EqXsw\nvtxieata83NqUaJurjwvGl+BaSuhi+Ke2r15/rJ0gdntB9U5pScbAQEwUFgI\nKtasAEFxtp6/IZDLPwqCrbgxiIRimIZNaNHTfLR42E2Vj+TyVzi9sbiHBlMX\nXqokKoiUhsZo38fbe5vXcT7dZmKETwZtQbv7FqnAExuMy907PVderQ27dLCX\nqqIPOISCk2qfyqI3lapexmBL6+ozgM+OUdQYqHsJL7pfZpdw7qu0zjMxShCP\nJMYi\r\n=SYAm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF0m0H+jmsw3jbfn6Iu7hbQ1M1eK+ynyf7pBfrEML5g1AiAXfDS0UAHOTANvYL7qgB/nW43fxeDnfMsVTcCTjTFruA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8680d11_1587581897967_0.1891098968962701"},"_hasShrinkwrap":false},"0.0.0-1bcd27f":{"name":"formio-sfds","version":"0.0.0-1bcd27f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ee5c8d5fc2cd71b0a3fe6ca600bea9dc07ca47cd","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1bcd27f","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-zvvN+gXu0jyk16z3Ja8KdvMEI/DmH+NpYCogsuQpBz5+wINSGhCd037jzfEbL3tRG7QLrCAB05kAvSPgTxACNg==","shasum":"07a7fe7a171699158895dfb2166739c1015b446d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1bcd27f.tgz","fileCount":196,"unpackedSize":1256422,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoJy7CRA9TVsSAnZWagAAaoUP/Rkd7I299FG4KZbRuuo/\n4OIGSUchq3B9sI0N08qnsuGlxVmtcasxoozEe3esYT9o0cLKQcO7MfQpQbOU\nXoBGdMTc2+jO/OjOMagFw5163IcybxAoe5ibHwOsxRugcwYG1ZFgd/GeUjbl\njODp2f+zCuqEMksweawVrdHc3PUkqLypuX86KQPj1Yi5Wc6fILCfR/djbz0+\nPU3Iv6SCG+5JDXnefr9ROwlhC2C6ziqjUfWA9xcwFjnIrurMEVhH3EZYOsmo\n7gtTHDc9X5nd89OiB0R5TH0dXn2G7PlZugQFmp/p3XBmyElzjhMegOEvfp6i\nq4uXOGkvyP0TQZjoZWqTzezR8ISrMFrQ8RF4Y37MIMmSl064n6kggsnBT9wW\nNnKdZ9ksbsTMPQ0P4EiXGT2ezw7tiIZUxyWyCn7Z0t2s+tZ6ec1kq2vdi2Bh\nPRSGAAJuX4u6nOeXJF1uX2YINuX7vtNIeugQtuodj4iwK64zzKG4/TmtETm4\nDyw0LacU2QyQO2wsZl8ce9tvSeMgayGoAd6yk2AOMIBJ2oeWn8kHubzS3095\n3FT1AG4OoCy8bobyH0clOrB+VWJN5N3cRDIeKcAKmpS1gcWMiMLyZHVv4ZaF\nakJ7fKPOXgEbCEXLvkQVoG1+IBtbBaYvU/JA6Cg8wqOEyxPQVXR/Tqg0Ua6u\nbnc7\r\n=DE+v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAqqUJoBuIT00hBBla5AlzRBbpghDvc+LxV1wYJsLphsAiB1f8JRTkUNQrcEIsMUSNFOuU03sHU1f/y8xSOvVUIw3A=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1bcd27f_1587584186972_0.5899296528981244"},"_hasShrinkwrap":false},"0.0.0-c805928":{"name":"formio-sfds","version":"0.0.0-c805928","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"1171264af85e8a3a6385aa07a681d80c19b99b2f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c805928","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-aXi9O72tjcolBUZjAHGYDWcCDZcobye6s97KMCXBwiChRhcjMU9eCW78iWf4HK+OU9ya3ZIF+iOkkvaS2uHQbw==","shasum":"afd547014fc4de7741ac7d4b06b6f82922969779","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c805928.tgz","fileCount":196,"unpackedSize":1256422,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoKTCCRA9TVsSAnZWagAA7ocQAJrL0jNoIjsX4D9Hv0g8\nY91qCfJupe9plDB4zY8KlwolGQ0zzQtHG3HC1E7sl8nUOkR/cGr0eeT1z1EZ\nJZbwl6enkSAIC7+oJeOyLDGk7k6C16fb0EI7YSHZ0d8ZL2ElUiKvMWKS463p\n0J5eDDveDrx7JQpU9SgfTx+bUFlfVOjqyznJEUJT2KnxMYJJg57Wtr64r+XV\nWr22DFOEtHOAhsERm3rF2Aj3LurV37caGjMz2d+0TIYjGwUW3s6+Q4s1gGQs\n4eVeO7JJN3dTBZZFpgjzOAEpZUTc0sImbaNB1NyWxfVxVhezhj2MLXMibE5p\nrnKpBn3/eb0bqDI+qe0iBitEDDClXgKJ3ghUmldwNVDSbXvoEUthfQTlVacg\nIetNRktUvIh8BJTBXnIaZf14SNy80AguppT3gC8OXSa3X7A5Qd049U3bU/0z\nZWOx5SHpC5WoqhdE3UNx+dRmq6j8Q2Mgbf9bUklfPo3S1o3vACOSDLBJvNdz\noqH9rC70G4ter7W21KhSBHTMmtpubNVXFUVlRErQ+8iC1jHiHKI9q//AKNIm\nnMqa8vxQyDAwHLFKRUbSRQUX5r6fU0rKvUnktKG0F9CzvTi6ur03K8AWAntD\nsusSiFrvAeTgYxZD7u/9kMWpPZ+T6RY58lqXc/gjfdj+ZKdKr2llsMMjWvl1\nShHW\r\n=fwLa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA+e5EswtOq1+hBz9UF7pw/IWJC5d7rU42aRcepAVC8/AiB/iYuSwVCt8WpyPqLcieHt5864B1En5PEnHGN9aaMFSg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c805928_1587586241597_0.12792192892770493"},"_hasShrinkwrap":false},"0.0.0-958556f":{"name":"formio-sfds","version":"0.0.0-958556f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"20e6059f8cb62fb34eb72a402857335f81473376","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-958556f","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-sQIAWU6kOIOpAi8sUkDTVwl2hkiWyBYYqLsmV9PrOgoVAxq4yt1j2nB252rkvZMtbTDINfzCyPbRXV9yuzn0iQ==","shasum":"830e04eebb29d2e0b286163a5b33c0023adfe745","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-958556f.tgz","fileCount":198,"unpackedSize":1258645,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoLHOCRA9TVsSAnZWagAAt90P/1fI/ILkI6cCT1W4PFh0\ncS2/JOaUMtGAF4wD0aTiFGqnrJk4bWo4dV2JYo7Tap2YrpSibj1rG1//5wRr\nWs9fzNK9/rtcPtR+zAzMxouJ/HawllC4NJRqOyhJwxMeySvGSpOpp0YiZM7c\nYUYYjnGnUrEoEbSp6iROqKi88238aNyJfaK41cUkfLYaRfEgr1oAKXIe5vyX\nKtc0YgfKLK4OMVtXJRRdE7UC655UvHN1B1ItGP2qc83wZTdWIJZwAKHetw7y\ncjHWc8urNoi9DVN6svpjcmhIhZ6Nyupp9F9Cv42VQ/eH51N7Eh2hhMB9yBBI\nHRiPwYTwKYpbw5AbJthXDUKQzr4oaBu2B8GdlpsdbQ++A31CxOEqnGoTDxSW\nMoVWbiF76WTgWAYMVtwR4wycnpte5Z991p9SNMpj97VO9t7Hu5ZFZmj6djoP\nTRN9uoemo+2oScxDZ/uarK3nIdAVE8wV1wJ5l/HBH2F4O8ItDk4COiO0Jyjt\n6Gm8HzcEB7fDwucf4F1IKIaoeqxvcV+FWmwHldQzv+mN+1dkac8f0N/dvqRV\nMZefZQqGLMxQfNhavrqTqoJ8ZCvHGMh+9ZgXcuxdcy8vqxdtJlPL6hfG67eg\nbPKRwH5zZ3a+ogZpt8vnrbyxy4uluyCM6u7S60ffjjXTblNSpyZQbGifwag6\nkVAv\r\n=nS9r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICnIXL1zix2SgpsAJdDJlK1dxBXC1vT5hqS702a63c+YAiApqPwEOHQ0nutnNmD5Tsd0gvi2XoNFjapy4i6j2s54iQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-958556f_1587589580253_0.5331404193049136"},"_hasShrinkwrap":false},"0.0.0-c743549":{"name":"formio-sfds","version":"0.0.0-c743549","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"1ed6923cfda630358266b0fc5e30d940673833a0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c743549","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-+K+4WQbOI+/pJQ6SHS5ASfi+/8EN/Jo8QZ2DOA73hoXnFAyoRuiYWsLt4Uy1i96+Vi3qQ2itMcJhYNBHz6FYCQ==","shasum":"2356068dba6e5adde7150a6f1453c3a0050b7b20","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c743549.tgz","fileCount":198,"unpackedSize":1258640,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoLJHCRA9TVsSAnZWagAAO28P/3PY3RDRKV6lYSteNfJN\neXUcqjGmHeaHhALUDDEKqMOhNNWbhW2tP+RZ9qtNjHrH3m4E1uhVq2ahKIrS\ne/6AikMkz43GWSHm5jZQdTIsjMJOWhgnRukSIEpCr59pFWkQxQFiCkp4NAFb\ncDf2zS66WR0lG2tEcPiGAU0GKgQd4tAlWAbO6e4HlwgMRvyz60rbuKLPi6n3\nsZzxugVHxp2a67iCQz4z0QwTsQGHlXWkFUuRWkyPiwgBQY9/TqsyxRUr7MA/\n2IfNGFYdH+d6nyySQNMGbEF5Pg9a+WK9Dz9Mfdoof73K95yW9VlwzCBFtcoW\nzxZq6RCRa+7n1y0aXPh+YltmVV/pKKopHUfyMbkCDv1oDcWC9fqUdwVvFXak\nuwjJJU+nhqEWfR/mBqL2dxGZinBemY7Fy84CnWxmkIUcgCinQApEpp/mTtK0\nF6la80Rg9yMcIuugN3zlhjaIhXm72eUsrRYKPVbeGYh0CgNsTPkETY7oHNho\nHpwlcM34hdcpXYjGBw9jd+snRtkgPD1DO+tDNe8MKFJKcZGEaFK4oRPw7hVV\nulPmFXbdFlJ54VnnvBVLXplzNEwQlq4Y3XJQiKY/LC/z2+Q7gaJVXMSOKEPf\nbYJmX7EXgVMx9fhAwKBM21OjUiVjxm4m579o4NJ/q+nigZYR2/HElhOewqwR\nGtJs\r\n=c/Yx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBDbNr+RCsU7/7xVD27GBBRMde0967iNaRcldYXAZSaOAiEA3ujMnQHSLC3scuMOEoIwaGShG78Y3Wk1rse60K/QtBE="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c743549_1587589703246_0.752049000688505"},"_hasShrinkwrap":false},"4.1.2":{"name":"formio-sfds","version":"4.1.2","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"658c2b5872af85bca04a90d4b6830ecac7503c17","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@4.1.2","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-GMWUl3cjE+PzkHJtKGwg4zTWSIS9ib+XrokVzyXRch4HuAeB/4eA8o8JjlTOQfJi1EntzrPP8VPx9IP+kuv0Tw==","shasum":"b6493c985565e699930244c41489925f9ce458b0","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-4.1.2.tgz","fileCount":198,"unpackedSize":1258632,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoLxMCRA9TVsSAnZWagAAAxMP/2PjB16uZ8bf8EBuNXoz\n1hHKjbD6Lp5KemoMRqlRxMwPnSV4+N385yg78cCKqh8bf0T0THmLy+RDGu7l\npXSXv8KtiA8gmRe3yNPzEq5iTgaPfqPILyHisinaM7z+XHPL3OxpjfbcufVE\naZgPY9ul4l6bA4LXHEpiCOccG7NyjfuPoIKF+th/bLRP+5P23y9EVA1Vqoqn\n5ut9KhfRRj90FZ4ukotTw2OU6IGMSBkZqYqrgf1UrwrCBePi4Qnhl8ynwyAH\nGklgUSgPs+39C0EmnxdILtypwwT/L0X1Lo8i6HKEDAHzyy8uCLzPKzHm4Vuo\nlnFb3JOOMnrUQW8AmMZIYPv5Z/l/13qc5BNb+/BoE4lyDaLFjyRQgqLTXS02\nvQswwBpggd6D2KEOqJvmgjwYyNsFBa0WJH0Nignlkgrbsz2IQQN/4Nu1OKcO\nwn5UMgCs9dS4xSFGKrJtnkE5kxrxaiFIMsrrgWuYMPdKAJNGI+2Wq0tCoTal\ndowbj3/mVOAVBfvHtq9tYg3J9PrsS/KqoYefCxWScct3rDj55VeNCONPSXfJ\nLIxtNCa1A6xU/No4H6b1GYCgZUu4iUZImuny9yZvdv4+bryFYXbejbv0PpUQ\nPuF1rBTNMp6Mnd6cm3Vov7qJQJ6ZUivQdzP51OGT8WEa3w/QMPVtwwpV3UIz\nNV/6\r\n=V4KF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOc8quQQ/5yJ6nVuuU0wLUlyh/tQhgvmTB4Y3VByZxAQIhANYr8fq/QnIYf0utGTbI3uxsKhlhAcOHk4789qodhMhX"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_4.1.2_1587592268207_0.45544723332765336"},"_hasShrinkwrap":false},"0.0.0-f4eb20d":{"name":"formio-sfds","version":"0.0.0-f4eb20d","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"e83e00f89ac134cad4ef60e342222dfeafa76b20","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f4eb20d","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Z+nKHnAtP+piD4bQQd0TF2lBWAmTYFaNm4IWm72Y1HqSUcnMERK1zAgqUd6FaLSBrgcUyH17OWX/7bRK//BxsQ==","shasum":"2ee323b1bf8065aaa1596f68df6b5afe0a35c4ea","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f4eb20d.tgz","fileCount":200,"unpackedSize":1265311,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoMUDCRA9TVsSAnZWagAAVqMP/39RqbQFQ5sBZb5KQTEg\n5FvRckxG3Xvy9D3HQDSx99IBoslm4LtJvlj3TjHixxARhfAzDtpeTwy+lHX9\nPpBTRZniuFb3tmb57iQ103eqtwWdbC8k69nNISjJLmHzc8Iq6D58eg1MAWuz\nuEaijqbmzgy/zoqeopaQuaFK8DISr1JeQr13uPblXPhV5O0At/zEHFhV7IKp\n4CJsxHg4iBmYycUKZFy/kL7p9rptrjZra+04eW7DlsY29vyJkVX6Yf9Qg5lk\nMOE3ekbonu4bdYZPsdl3gYeywhAbw2K5kAxS8QVFdEW4OigOkmHAhebT4nOv\nqE7D7p/hfjI4sy9/XSyLm3i7wlIyUI7pyk+V38J4HGI+khnDlcPx4lSB3CS3\n+CQ61pdCM00CS2zLw3FcL5Teu1PypaqCKXF5GK8fdk+Kxgu77zZBRElbkrRv\n6MwHPzQ/HgZuKO81OIt7FPnhaQ26O1UJuJ9NAhEj/H+U09V8kpBj/Zo/Dw3T\nq1FtymN08gw7qK2ThI/3FnXRYD3tuzRaTLAE5rsYsWFZXy4JxVa6KsdxsfZG\nvqclqiMiFgSBP2JJx2pzPMyAMEQ8ZPKmRqV36mP2W5pS4FIq/VMEb0Ap+X0o\nKacChZpqJn+snHGBJO2unzg7QruF810bENbXPeY8qH4S4UGPQUUexfPDFhZC\n6kcq\r\n=VLuG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH1/FsySX2aZE+6q5DVm8lrQ5+2zfwW6jdoaMFbX8udrAiEAktFDsINV2NfpxbBIfu02H4rsxn1fuCg9E9yOdyvP7us="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f4eb20d_1587594499186_0.5637578152084655"},"_hasShrinkwrap":false},"0.0.0-00cb431":{"name":"formio-sfds","version":"0.0.0-00cb431","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"eb817d666fb0e33bbd06cc13cbdc4b7ef92fe693","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-00cb431","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-nxSO7FS0/XHT7ICSjjDres9zQUJc7FEiUeSMIIuZTqS8GK8r8HLOS1Zrv9WVFeJ3xMHM1MnYfHwFm6iEzhiRaw==","shasum":"6614e003ef585f81f24e2cd9a4da0a1eb11dea8e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-00cb431.tgz","fileCount":202,"unpackedSize":1273038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoM1SCRA9TVsSAnZWagAAWKkP/0SC9D/B42mcgFbq3mB6\nRhFT93DigPbRg13qEnbsIO+z92QAI8jobuzAZHHze6URT8Zrb8vgp/oLm4eq\nqUZ0gvO4BLgHIrlFd40IO/ggNymo82ivFYh8ujrqqfH39vvn7niZ+GbgHosC\nZNB/sDa0V1Xfyj2xpZskC0lMdLWEm0OdJAkGlDht1+wuAtRGl97DKYRJu/3o\nm5yAOVgAqaDxwbbufNNZA8gWKK8l/WnDq5k8/aIYZZoRXs0qNn+/aQzE8vHC\nkb136ASnybm8pOdp2Zad5X3KE6Fv/rI2onBMf/wuoHm8vSTe6pQ2vOfpTf5A\nwVj+DNnakLHTtAwvJTMo3ttf6VrLKqa7C2a1GLYi1E7/lg52KV6HZ/MT+Gfp\ne5d+P7MIi4VK3Vpx7yPRsgwmKMavqWnlk96GgiJ4GoahA6ZTaBwb0DD5OYEv\nWbUicDjJ4tk2rUOLDrVHqymPKVQXVoKv1rkVOUY+en2j80lfiIil9X/KF4LI\nvd0mKebrALLg8tLzEbrm73MZ7a8N5hMxW37XTdcWMCug04ERHw05qa9h6PMG\n8hfZ6oDESV3mQLRybFdeiia4L4MkyzyPKEqvKOa+SWXDUqp/8KWeZV8VStFm\nE+rKKgy6j8YcYshYq9q9lQaOZtsACDRluC+H3x9ckYvPL83WEjfYW8O/Dm5E\nN2cV\r\n=RORH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgSzu/wy2rbZLEOrAKVG/9qiTG0X0woTkqmGP5KQN53gIgWIJ7XDdM22xVpAh5dHsMWFTii+v9oVW63B7mdAHLAAM="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-00cb431_1587596625683_0.7369078244608609"},"_hasShrinkwrap":false},"0.0.0-f44e66a":{"name":"formio-sfds","version":"0.0.0-f44e66a","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"163add1d789f8853619ce5445aced0fa4b329fd8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f44e66a","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-gQWGOMnUoBZvN4YQ28xIDauQCSE8JTHzolmhOKWlGzt8k31HVNECbU8y1pVZL8mLyTkHtGEnOyzFfT3haFwwXw==","shasum":"e47c316a2a7162ab15de64d214971b267d6de3a4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f44e66a.tgz","fileCount":202,"unpackedSize":1276650,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoNLfCRA9TVsSAnZWagAAoO0P/jPQutJMDOwV4CNrVSW7\nI67J8Brv+kQo0Io0D31xG6Ieq0vPJEf5jO1PmPwU7aBe5ADb/SKwqGSSnbFX\nUovYr2hpTaY12wU3W1DFKTMVNUqpslhqsOz1gqOcUeJy4Vc5SmO+XnoHuqZF\nm8i0HeJoKqGGTjhaW+UyMdOpBcjjjXbT8gSFm1BdnHpatjpO4+aoOGhTVZ5T\nTTE02FlOlr5JHPow0g460X8HnGV3OZ02xMzf11FVWHPKXUPKfHB+LtwOQvBk\nRPS45Ar9sl3l+l8ttFKrxetqFY9mWVK7c5bXSEtZqA2mx62cY4dnQjc5tiHb\n0ISN2eYITdHj1JefyyImSX8kGWZ18CgB5tJdFWNrZlFI6cKA7fPrgyimQSz1\nS4tFRr+3zPSxMSwsWBl37alXTMoCAxGJ/xHm2F4h1+oP8oJ5Fx4EDOQ4Qi+1\nr46FP0WESbI4cc/zi76QA7yrtpulsQSQz3PdJfOZQOouM2w8ue2yWLpcxFPC\nd/Tfa7vVZf5LRJr26umSMsmm8V3+gLJSEhyFXytDfiyP3iYrV8tkYTJ8Bl4T\n6Jr8PwqwvyzMZ3DCOsgS+wh6LWjlvL0Cj2fYitZFuV+cGbrLJb+ctAHMTB1h\n5vRnk0LMzX5omFwiEN+Fhv5hAnckccoWEWpa/0TLmNEqPGRcPWeIsnq1nTvN\nM+Do\r\n=xgzo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkNcr7MRwXaPc/LrgVwYra1BWhs6IEZoH47WwFWmx4kQIhAOuhv8IfP8Gzu9azE3SPZxikAneEUm4iDVY/HhVCzkSC"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f44e66a_1587598047259_0.9585090872800837"},"_hasShrinkwrap":false},"0.0.0-3850e94":{"name":"formio-sfds","version":"0.0.0-3850e94","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"6edcfa3d7fa6421bfd9ce09939669c318f7a55dd","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3850e94","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-SE6t83fmkYa6PW61pflVQfcCjyAP/Xi/NQMRV+WI5uzvhTXRV4ts3wt1rlkoFF6dAuRAV4CRFfTb6oFsrsxSJA==","shasum":"79de4815da0fe98b6b45b7b746cea58a0d8360de","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3850e94.tgz","fileCount":202,"unpackedSize":1276690,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoNT3CRA9TVsSAnZWagAAAYoP/i0N9ULn8SdA796Ts6ej\nlkI4/BZtnE1AdTe3+zoy7PZP9Z1oQTI78XQ9rGay23Z0r/g/Z0q72KLmKgK0\nVRK8d+Xwa7v0/kAipYVNi22vxKpKsPMD0NSUWE/nYQyWFeNhBD6OTaIwRgzD\nSRQsDcHlHg0LL9+lW1Mu3HokfSYS9WdX31s8nTEPWIf3mlELX7fyPWRBKbFb\nFNkI8rmNzMtMmZYByAK+4b9Z6OB0cjMqh+lx4gCf5SqM6zLR7vnpECHuiEu6\n/k1V8FnBZ83kl1JBEtHzNm6xsblQ62kTtKCPnNWvo7x8em+Mhwh27g/eUqIu\n0eSQLG4Rdf+KUmWhZJtvvtlFPB8MS/VTv8dWfDUE3TOWH4uWyNY7J9vjjZvm\nBYVU6h3xTbc2w7BP/g8/oBli88iu7DCFP/rCnXONehUPRn7UErghnl8lTdVE\nqc/gN2hlCG7MiYQsY9u9MPxZDCmAu3Cd2o7zzEJFX9N9AZlL1CD7oaQ11uvZ\nTMTuKU4IjiSjKX0SZ9L7L2Asq+zlnClFuNW93VWCN+5DH/FxLfvHPH2KivO4\n7FzzU5Ljhf+serPJDXLQ5lf7M8c/7nwoAkR64ZK2OAE7aT/XGpW/Vd6R8bUB\nQOiHasK98HGVD5qrj6SOcgVQsuKHAvHxAR+v9jCIO3NmX+pxbdr8ix9yLgJM\neew5\r\n=Xl4J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDm7BT7iMVF9Db/sbAODCzp2YFXzTaDk/XtpNCPBvvE/QIgWj2JULmy1OO00n3MgatCYnyd4EWrPf4hguMFxHL//Ks="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3850e94_1587598583226_0.41111403963753346"},"_hasShrinkwrap":false},"0.0.0-1125761":{"name":"formio-sfds","version":"0.0.0-1125761","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"67adf511705ffa76c93a3bf7f5747898f18e6da7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1125761","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-GXPhiXJy2a+kplVM18ULfSJ44nZiKKfDIRgCroYmnnmyif6Wo2kdWTtBwUUD5LcSrXJvjeIAml+XY0xbjZAWhA==","shasum":"88d2a55f2dd0b5dbbf283b85cfcd0f64a8f10d1a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1125761.tgz","fileCount":202,"unpackedSize":1276927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoglNCRA9TVsSAnZWagAAkusP/3/08gyePKZJBmu8YFvZ\nus2Vrigb7FaRPMLDi9omfA70y9U1RGwne00I9sCMSrX46GQNYEDgevqybluo\nF9MYvHQ+xPAl5fQImtvodrGABeE/cxaL8k2/YtLp0hZbTVIf0WTKIY4QY2Sb\nemoiNoAdBrvBA4f1+gowXy2nvRmYeL69rtZPZV4HqEE6IS0Umwi+F5pXu7cj\nsYQXamnCXBF6yz7j0p3j9LehAofxFdrm59qJTzAIiPrsQSBufz6ZwjZ872l+\nfm0k68Pf4uRFJ1tMB0y202VmZ6Cq+sphStUYH7z5eTyJNQ9oqMqJdl8aYL3t\nC3nUrR6eWTotX6vdXtyZh7iZjp6h0hUq97OY4iHp0J9n9HlKNA9A6IJ4Q5Vi\n7QRf29Qgwj4HiTcvpFtzlCfhk1v7Z3p7i8F0UKrev7rQ+4Wm2NITEuhjGMcI\n4HTX06c6SDL3mJYmbVzTmo1a+qqtTxEHmZ3aBS9v/4jhK1kaNsSwl2GngF58\nNy9DjfhGJK+Q4ligQCOxLZNNE0IItag7+pj3kLgUsXQtoq2Fe1FSyjirq8gD\nm/9SeHDOGSTQIGiust4qu/xBL+cBcm5OPu0ye6Jaea2pljgVVtsUqigAVM9+\nmD7/1aAd6yoTNMCOV7XqUkNKuxiavK4ytYGNn3UZitv2gg/WcICBPs0HoREg\nI0BW\r\n=HbrL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGi83Lj6DKTwSmO726CNexTlVREhfrZh88x9YJRTIGHgIhAMTrZwv7r1IFduutcNr68U1ii9z1wU+V8Xl5qlEDks4f"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1125761_1587677515929_0.6206753436313321"},"_hasShrinkwrap":false},"0.0.0-52df3d7":{"name":"formio-sfds","version":"0.0.0-52df3d7","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"42ab42d76905edf962ec563638b9f1e085fcac2b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-52df3d7","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-FG85uqQoMVlGoJLQGkEskbrP42Hw3l0k23OgAscMU9um6vImOUeQ8xEtzG0Xv1Igy37sQ5rixed4Y0IBFYH5qw==","shasum":"f81c9c835da28c6bead607193584fb194f480d25","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-52df3d7.tgz","fileCount":203,"unpackedSize":1282390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoiWbCRA9TVsSAnZWagAAYxIP/07UwY6T2iYPJEHSMiFD\nKCc39BnczK70jEJ8g/DzR7KKabjEQ/FMl8Bdqpenv7lIFgXwJK0u5XSDvxRu\nDwGkBNp8HJXwkKzWjVoISn2eHPA9SndRz6cmYxyeU4ExTYP3B439FmqpY+Xv\nDF+7pM20plekFGTsxi1nCFBC5jIsDHbbcVESNosP3QGTuLFWHrU4c3fN53vn\nA3Q1uOijgzmDbGVConZGAiJMf2NygaFU9qGn/WJORnrVT8F3mAMeSJA0qIgt\nxOx7Rgt7YrsouVlELH5IneELrQfqkAc9CUsoJEWbFpRsgKo1Kof1ZLtkFaOJ\ncC1kF7i8QczqxRPBbt9wViM4BL17NYykRJ5gPvRX3fxBM4MLLFmNMol88qdR\nfp41P/KwgWWivrpRF1DeHtZf6K+JGudSqFMlwPSKkVQGVff8S0d7QhFKyc8M\nU0TPCygAxxVOcUtJ/k2anT5+dEhwuqTUZ8acCh5qLLF65I94+KQNIir6TZxa\nmffLZyVyb8fcx/E37uBuk7mzSh9GdW3Mb3y1mvCEVDY6cIGLkvVlNG3z8eq/\n3FeJCz61C/OH+MJ2L9IrqvB33KwNsHA4p2p9fudtQYqt48CLm6LlyTEz2ikf\ns+Y0snUv6Y3KC6xkW3VncMYsqd0oDt/bs5D6Ucw0RRXHUujV0Sc9xAD9YMF0\nUA0C\r\n=Qu8v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICgDBGrFiSASun8mIZhfUEPl0afpBzk1V5EiKO+OJTCQAiAWF68AK53B48axAkO3dnQ6oQU7ZLGfxtoyGD0WldqauQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-52df3d7_1587684762631_0.055759712511196824"},"_hasShrinkwrap":false},"0.0.0-de0dfed":{"name":"formio-sfds","version":"0.0.0-de0dfed","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"f13ad3a080691a43074b1652be5dd137572c34e2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-de0dfed","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Bpn2HcmqYX3OM5/FWVMnNhf+NdqR3PiWHm7oWa/Iv3txx/nc+JSmcIy+O5yJuJaVMXWf9+Zp5MUQVpSuw7ZrKw==","shasum":"fcd6d281538e170c54408c450da79ddd8294a206","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-de0dfed.tgz","fileCount":198,"unpackedSize":1258616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeopkeCRA9TVsSAnZWagAAdoMP/0Hl/LoEhwki5fFOVRK+\nr58InlvxE8r2e2ziuCcsCr6NmG+upptXZcsldCWXtRxt/nRSA8QIZxpuV9Rq\n2hKuaLvYDW8EfvmwvQcAJ1MW5TKEh18p54mVzuYBbML7K3nSXeTcFlhNRP2t\nIDqr5835JA1SdoUM+3itRZGiYcUg2OgybeOfQ/GOr5aMPsDGupjmqQuga6Pl\nN+cw+snqoojhUq+1zd39iVkT7V7LSQo096AxnJ97IL1Q0+4ua3gxuWPpCFP9\naqKvUcgeVr8jvhxnArX5BV67Bn58eqlayBEYy3MltqONmaRxXBkH+2eVE0Mq\ndAVEXUSY+l106w2Xk3Ashe41koNGie82lZw1rEg+WAZgPSNQSGYnHGLnE4ct\n7WhQEi+BnyTm4fqi7FC9JzkBV2/Y9nHKmRbX1QuoBMKjjTzjVGC38RU9Jd54\n2MJQ9OJa3mMoJRKqxMDu0F9/VrMLFKaXKePySIpiiNpU66hg/8gyPHbXe2jl\nbhkOmCs3F63mdzk8NHqLDLSi0m3CrzJZDcECMQ0VNoRR9IeaytFML21op0ID\nQXbZ5y8/wGzEuo3kO78qTe3YwWfah5iARvnMxyj8gYoajbREzZCvQMAksFHq\nCzwBzIawCQMc1h4HsY/uzHtstnG1AqPeKTJYf9pXbtP/wHLA1gb1QE5GUqUz\n9g0w\r\n=GnrQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfPi8jXGP9vDRpFhBC6tqTy2rKOYjIzXYS17JfgnIX3QIhAJ7xozj9iKowt3PKT586FFsxcCc8bzyjLuxFM+Eoo+k8"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-de0dfed_1587714333892_0.7971922274239611"},"_hasShrinkwrap":false},"0.0.0-2f97ce2":{"name":"formio-sfds","version":"0.0.0-2f97ce2","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b75d595d6f6dea00a61b49bea35b32c023079cd2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2f97ce2","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-qzEeoEmVtKEAP+ke+8/RaLqKZdQ4/nzACworkPvISukNvubiFqS7hzQT+jjMCtqmJzORa88/2zp8eDcYmUWroA==","shasum":"4b0b9527bc25942674b135b5ffc7ee0aa8cfa045","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2f97ce2.tgz","fileCount":203,"unpackedSize":1282453,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeow4tCRA9TVsSAnZWagAAAhwP/0MHBGa4LO12PQVxHG8g\nxHGzOR1BuMnQEFnzykwru9Lcuv1gJikl4SNlqnIIgAmf3+WY8uxVzrxa4Vue\nXr1o9u2HVkqUd61OtXA7zVCYhgagmBawh+wk2Yjw1gM/dMR6Bk1Z1wAez/iJ\nEbXn2CizrgQ6xne0ESX2k6yjqvKNSc6VOVQWC1XwRKtsAkGrRebgWwHZzIKI\nEAeKCwpzqOuzEPjhO5V3S3NEvTFVgXF198nVHAlWWkEsLXOO0o/LcrKqfugc\nEvVzsdpf7S1cy+aV1SAojf33vQKsSYohcZTN50L4l9+LA+pWgaguw1Pl4dhN\nMvaB1sFq8TZPqF+yhNJeVr+l8+IEP3CvQt3Pwsq6V9D42SXOKqtwypy6yHIQ\nhnM7oL5gif0pIeSR5bu4DWu+AwLeB1Eh91zcowxisO4b345uwF8fOOpFBK1h\nlEnVS4gSauhRDt8SpSjkgMosW6L54J+q3eyvdrjrEl2XNR1uYIrCMBQKgNPQ\nyCJ+OD1R/bXJFAEj8NFGxPpro/TDLrcZJzC3NqgZ4qF0VpKigHDTEuKgVdCt\n9eFpcc/EJJeYIT241zYke8XDc1295pGVl3S2RmHax3Cw6KcSs4NoFp0lmpot\nV5EPBANbEa9AlgGBZ7APD7mdC0DXW/x8mJXmnrAuUB5yInaHN1ACfg+EFMPs\nwg4N\r\n=qDzX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBPiue9Iq5D0UY7nk6ReU/MhgAkLCe1SQ9I2g8rSdr++AiEA9ykplm5XWJst5DsX+lQy2eWqZAGCESfovmOf9FOySOk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2f97ce2_1587744300894_0.4587609323969193"},"_hasShrinkwrap":false},"0.0.0-c4c6574":{"name":"formio-sfds","version":"0.0.0-c4c6574","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"997adb3191f95fbd9a82c52cd9ecf51ed96b51b5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c4c6574","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-GRNy8px5tIV3sRo8MAvDUMVgef8NpE848NBCph+6WCTUEuzaekotOp1S6k0YUILd9PAwnS+6WJpyS1sZI8VqQg==","shasum":"57fc70d307d529055815878b77cf52151dc7f82e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c4c6574.tgz","fileCount":198,"unpackedSize":1258616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoxC0CRA9TVsSAnZWagAAmD4P/3y9KWFOFAWcY1yMERKG\nRffmQ9FXe/cJ/IXF7saWjMnUaMfE38mDUaGsLAvfE33TqRHJ+idSevhknScM\nHigjP0p+rPUEsTVKbnEE6oJ8msToBx6yF8p/MlrmjjYJ5Z7+2vXgXICXU5Wz\nuOekxSIwkxcD9ir30AYIofxzXhSN7VCc4HiTbH5oWt+9MikyDWkG9Kl24asL\nL3Ahf8AfN80ch2GmytXbRFghtQvnc1xMfPEJDF20pYHyOoC5pXzR/BGumcKM\nM2WokQqGgY5Pfin6JlpOqpv0M6LVetMrN7nhBPG4j8nKZWEHfQ7E4j+hqElx\nfD5///SWEvdwUUxknzYHAyUsKQmsEixEW7ZQGOQ2M1OTjDIk6FOPhk67oFf9\ns+5PZM6IP+Ys1nUNmuEHfFV3RgrYK4dGX14FCQ5glpxJ31IPo598dTz/PIKz\nMI+G94rp5rxwUac+sOdHKplpnxS/JmOTaynWKR+HOGpbMhBmSAmMM9bOOjWl\nY4SKXGprixhgdN/U5+zWlc9sZB2LKN4+FBeT21i2jO2CVssG3MUZbx+yLFrZ\n/GX/i2oRvDiQdeuqOfc8p1EoOEW4s43u9g+KpBBO+THM/8SK4stL9FkvV/+M\nYQGM1+nkzLA9tp1fSWg3OYSlSdXpcIV2Fv2xfPNNU0NICWNuZNVcO7z3k2uP\nDrVW\r\n=gEjf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0waZBUrLho4Nvp4bHwR2JLYE8I2GdBY8SIXK/l6lSYAIhAKnBOxiFAsDi13Zput2y5Wq9AkyYx8kjdvtZUth2uD2m"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c4c6574_1587744947614_0.31006526792759437"},"_hasShrinkwrap":false},"4.1.3":{"name":"formio-sfds","version":"4.1.3","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"83761f5cf62873f14d78210fa83fc597fb29e80b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@4.1.3","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-iVuv4/TowAsHHbDAkyBPP4KB4+Ja6n7ORmfoJ43yWJmd5URKXBi8r5rV3U33/1+o3Phw84WonZaDRLEYD/LO8A==","shasum":"7a970649725bc0636d1002b5c5d785314f7acd2e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-4.1.3.tgz","fileCount":198,"unpackedSize":1258608,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoxNLCRA9TVsSAnZWagAA82oQAJvcu66E+sTQ821cRrSr\nMTD6s6VedmWqP5MAwHjhPnSC9lRXRI1CXverrpLcAp/6xm+yg80FZjRkz0V1\nvyZ2/LtsZgzpEHCRLWMwfJohbcHsq+73qZq4A/VNM7qqKZg7U4ZcjTO+MLdw\nzcbblLQGxU+z8uvDhVkfVtrNSMwlDlyWr3gjpnY3hKZeI6CTIgo69btMXLWh\n5j068OMHA42RGa0MRoS8Rb071sAn/c/wbbxsGKfDfQp9hKeedHaIKM5oWVd2\nMYx3qVcfoyad8ilH2OjaZie+BM23sYPhoNtBKNAic53/Ca7aDYj/tuF7oCos\nEeuX9kaqNF0mv+ee7zPvOQeU652wn/6JJ5MgZLeGpt8r9fBOOvyyZvhhQn+r\nDZCrqx6YpG8bE5CNLgBOBVzysq/7ejFBnAn+TJQrrcpTPQSIb0P7saSk4tRb\nj5ABT30EyWC+6+wRxmo2Jc8KXes27XX7S+CajU2H9v1kGecLrvBg4EciAA7U\nMt0ZDLZecRHH5KF4Q9HLVhaaxqKFMBJLL1QPZYFge45SpU8FfEpWY83S/cy7\nISuhUMNgWcK/IDVVs4/00/TpHVy5nXwoFTJWEyeUqrBdWERqefYACjpnxkJw\ndVt26p8Z7MZIBW+4aohEP2b8D4oFacuQ5FVpAw3wYyC8zsXMFXAsV9R+YP2i\nUOqO\r\n=kigq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHXRpOe2yX9ko8fgyY4o6yVeyvxOqrf3alr7lsc1uTLsAiEAr7ZFNGpAPPUr3eUPqyA202i9KIlHa1ZuzmiqMaGN9P4="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_4.1.3_1587745611033_0.2223716120335144"},"_hasShrinkwrap":false},"0.0.0-4145153":{"name":"formio-sfds","version":"0.0.0-4145153","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8d3ddb41d561087489cbc526855196b9c0455793","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4145153","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-ASfHPw4LjeCEzQ2Nte09XolkC9Qz2UNQu1fWBgoez0ar8NQ3Zfjem6GSTkmMafK4DXPaLvO03Its+Ab8h+TZpQ==","shasum":"df1084d93a70c1f4af6560afa1ea5fa1bc06979d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4145153.tgz","fileCount":199,"unpackedSize":1259293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqLE7CRA9TVsSAnZWagAA0akP/2W+YTfAgKFhj5LSUTcA\nnrz6ZhrbAFCLLbDULOajrdyrKvjWYQdalYH81ts5RHJUqLxh2uWmUkJihhZv\nRvqzSinZA1Jfcf6aXnDpO3/0/qd9Ls+7SVXmDpGe/A1tDil8U9tKolxygMyv\ntiD7RXBdnG5w+EyN3Vb+QnrNX4+n3UeK1HBNjoMKlSvLQdnMDCl/kKc5Qsfg\nVwpTMKzTg2xznJK+Q2ecAjVn68qOEgsNtVCHCelOkIVcEKynnmKWg/Aaoa0n\npLCvp12N4fPT+KMNHB8PD/n1jFpaCZlqvDtp3VRNOXPO09nmxelVbagGfDUB\nSjLnQt27S417WSnegTov4VThiN+DqDYtddUz5+c4u7VSRgirZwpiSADL/PNp\nxT5sTskk3qPobo0KMRTzEyCqMOjJyv8GZV4b0lSSs/tYVy5utwTBAEFo7WeR\nAFTa+z8WWAoReo6D8C8dEPC6ulmYk5JLxhkKcfj6WqtVdF3TKw4MoQUAshgB\nQ9AjE4dDzk8lPXWg/ihr/FRHQeD9XjiCzUweuSmpUJK/qUbb2ZoTtKOtixW7\nGq0HT4Hu34Bb2W+eB4sv5LTUcGkNUtvBGMOmIjhfLDUWLBtInbiCgykIp7ur\neHeuIDsZvfC80J4elb43hEavAJ8EggQA8SLSotyQJY/zQCqD7xvg/a4B2LGZ\nMpER\r\n=6Sj5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDf6O20tpeQB9j3mDhfc/JqxtBROwB/ba/z3a8NfTx6KwIgUiUO9wCBsseZPevc/I07hl00oRaZREtM9a+ptaT4xOo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4145153_1588113723318_0.36974300641058755"},"_hasShrinkwrap":false},"0.0.0-d3cabad":{"name":"formio-sfds","version":"0.0.0-d3cabad","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"9967695be65581f5b4622086760aca8f7c2dcb10","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d3cabad","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-WZ3xB4DCCZglzl4fErjA7iILrObk4SUojbJFqr2pacZj0xZZ7V8R2G6P1/dDgxCl6OnA9HkXsP5OY3aXRFl6Wg==","shasum":"dee2c05616d19d21cbcc44cf5bd770a955ede05b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d3cabad.tgz","fileCount":200,"unpackedSize":1160968,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqLo8CRA9TVsSAnZWagAAJwcQAJn1ACNlAGPbtMH//q18\nWFYfJvEmC7mhhn7iLry7Frc6ICcPFdxHhld66ipaA2qsN+IH/M1hU7kN2TAH\nzMJ7EVkLDAOne7TCpbBrNEZNKs6qKpHoC4r92akjPLX2CrHa6GlhksiGo3WB\nuZP9RceXiuegMi+4BGrOKy274UIywi316G46xUwLXfzKSRgjTaxH9ya8lJQh\nvlTaLWC3TZp7bxjcI+jolzYYv2v5ZiJA+EpVUDB0sOmN9v6fLwNoRlriwkw9\njFXQJnlUuRbefu5geS9zqE6oJmADsHlEYoI5k3Qpoyp2/cLR4cl2VG6USjcK\nOvv9QhyhZzk75ioE7n8vWzl9dPeoSXvmPIS6KRckmb6RAA25KfrtFBTNta9Q\ndOISUXQPHptau2w9rJzjtnrFf+cCWlQBgZXB5gG0D0jlull58HUUkUX4t90u\nHSPqqf8BCi2gu+72y4s2h1BSuZ8vyAi6mpDA+VeKB/6DdfdPIot7VZz8kKgz\nXTh/1HSd4Sizhfegx5bpbR7uA2cKbwP/qI6auToysfYYADGYKMJ0UEV1VFFq\naL8E2PMpx4ZrcFeqgWZI6mg2I45ACgJmW5ElXbGQ0XME4lYx6bFyWegGNhfC\nvFDTysW1qcalNvMDaIJTB0X0GljW/4c5k7lggFVzA9aQGyqioFtO4EY5mJcZ\n/hVb\r\n=3eHp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDnOFUaO2h8KqD07C0QIsLC4w187WkhraKt396uC35wYAiAhgIiiShoQKYRJJEh9b+kOkxLJPImISTREaDWKdDOQag=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d3cabad_1588116027509_0.6443390294797002"},"_hasShrinkwrap":false},"0.0.0-f9c2e17":{"name":"formio-sfds","version":"0.0.0-f9c2e17","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"aadedf19a262120412c2fc3c53bfe73803cab2c6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f9c2e17","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-ysKotWCe/XjOYqtv+gB2hiPKIc+r3Bab6voqp8uQZD6OXKg31VHYoxhktk37A0j5b+5EIRonXIIDYKIDtULdVA==","shasum":"2ebc696d977c3d049151199fcd19f6025db64d3f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f9c2e17.tgz","fileCount":199,"unpackedSize":1258858,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqM1PCRA9TVsSAnZWagAAKpYP/Ag8Dxh81QGSeRlSXcoK\nlkhvQputNZiZRgVuAP1Ci4SpnES6nwhaW8/b7f+80T6/hBc7jyJLCHTIykP2\nOGlIxwxPLA3Q4C/9Zm45zezJ506QErLZR4eLsiHYO55p1rGWaJss4PjHaPF0\nL0LWfeeRfPKE5nkQ/oVnlsI9MFQ2kRIp4zyvcNyn/AMzuQU/9+RIetXAj9SN\nkAaqHWd+aPJXpeQ1fv7TNVrHvWfOzY4h9YgP/2tjDrtniPw0YiG3ryfNP+yn\n9dNNqsDi5n1wuxvCMYiwrtnoP+tqT66LVlBLLNB/XZE5iimvehW69ZdvWkGq\nCaVEEjjeBwCd4lQRP1Y+yCpAcrhUVD76ZGYVJTK/YkJ3RGiIx3wkAPYeZKv3\nLawap6Rb3Ak4BybSlSsXZuTfoMMLLy7xJLf0PQRyV617RezRJ+nrapqe0Fcs\nwe/ZxjzoVPAeinuIPXSsDtxJ7gAvirfOXk8BuR1tpeSBUodpfOkwiWY0j4GN\nL3Y5vyw4BPQsGU469PDWsHV0w0NmUzpfhu0D6tcThzNrvo6g1S+ED9MVNwmh\nEcIKeF6pgeXc39VtNPDIbzCASV2gIHTdXYfON3kJB11eg/Vc2kTA7+jOwUbf\nwgPJ7Xb9d0+WcgTSKn4NsIFNahzzyUOFV59c6odUT/GcFQD13aD7LU42Wzez\nBzDz\r\n=xIAj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0Alen0ws0hJDhx1mS+rTXHqVUSNDYT5Oq6Gi+prz45gIhAPIDJOtAhLhn26aqCwU0kQynd9z0SyfXQOGgEPQYt/82"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f9c2e17_1588120910505_0.84093871038262"},"_hasShrinkwrap":false},"0.0.0-3b787c5":{"name":"formio-sfds","version":"0.0.0-3b787c5","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"06bdb50c2ba9b794ae446ffd4048d71a6a5949dd","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3b787c5","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-FFD0eE3cyKhhWJSmu5SoByWkNuhts7QZ7nZFnD66Bq8XNr8NIyrCcsT+KgM69dBhsjXo+Lk/tF7f66sj+zr6bA==","shasum":"b544056bc03bfaa55acddeeccf28032d6ac8caaa","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3b787c5.tgz","fileCount":199,"unpackedSize":1257948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqOctCRA9TVsSAnZWagAAvKgP/j5HavUBAZ4io9n7vk6W\nyEukePRJaguTB0YO8IK1RriRs8WXkZBkQz1NM8npPvpyyzrT53NJEX/DUHWG\n++44C8o/sioW9KYMExQXoqHCmkKgvAEZnw3kRJCY+KfsHsoVHewzG5+dumQT\nRLFBiPsx9GQItovqK+Y+qfzLYNp1sT4g6kUn82fpjoKF6UDuTnbtxvrP/8nG\nlIpxBUWw7ZM+cVNs7qKDC6KgW16+NuDhE9z0Vxc9gYMeBjjW+MNUeToU4N9I\nz26AZg72pKnH86TChr/mAq4PJtLwwxLGNVvupMy0D/MjM2L40EgUuDLu/9Ig\n+6a0DLbctdVqU4vY/3ljjoiteS7bQJB4b1xA3cOzAjaO8I8GGzuavWVuU96F\n7srw4LwuNuWio8UqL8EyD4KQ4osWTVI13QoIzoKpgnxh/vkZbYYWm5cO7D0A\nPphbAIkiLvWKLG187c0sYTnPa9tQGIyJkTwBMBPO+mJVOgMu+SDEHAARrTAN\na1dWQ1P2+14aa6ob8rSnCDZVvu9hcUlj3/zmKVaoUbh/iwe/7Afb5eKlBGb6\nUA8TG+TIZnCCQH5ATKhQqHxXbIl0PNb0wzTVmrf/kE6Gcm8kIpa5y95Qtv3G\nfs/XOPpA8juGcjIm2iGcdAPw4VRkU04aHSijitLFQEmXMsoWQmCuaeLD7mdn\nPs6C\r\n=uA48\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFFbzfABoJdD+HX/dhQle8HeGhM9Ohas/sJSvRTA1pnzAiANoRxfmP3o9za2DYP+aKTP4V4sCBM+N2Uo1M3udB5Lww=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3b787c5_1588127532722_0.26495526330713615"},"_hasShrinkwrap":false},"0.0.0-ad71b16":{"name":"formio-sfds","version":"0.0.0-ad71b16","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"11e4310e7aef610cf7bd0f396bcb4a449210a03e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ad71b16","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-j7L8jtYT6FZb/TJa+b/TG9kH/icIOtHp89Ai3zOaL76puGk3V3f5BmxfkbAhm+FYkNt5BOEQuN4EySmcwp4yyA==","shasum":"cba3ffea0771702e0385feb316e4df89c90145e7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ad71b16.tgz","fileCount":200,"unpackedSize":1259695,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqeaACRA9TVsSAnZWagAAavMP/2gs+a/gQgpPSpWm8Mer\n7WzVduFqNgBY8S5Ys8rtE3wgWvcFfskDJlUVYCPdIbrX+APsLLRFBwmNs6tr\nEZy9+n9LIxp3EYalD4rX4dSiDR7XOUlNOaqW3W/YdpK634o9UoZAncqov9VP\n/OogZTVra0vbFEEwAE/DK/Y4cpW47d3YI+7O0flIrwe4JIXy0ugOFXhntSVz\n+68i0j763ohddUlcFAQHq9i8G10XxgK2gCHgZXErITRRfd66yZLOwJSkfT9/\noSLsfKpuC6sfHuPlCDEOtgpLVN7tm/pOGwspa0XSBJ1qLKWTYTEok1RdGOww\n/dvQvJ4Xia0k8IaUx1pqWOM1i6UV9BNMdmOWE1z43Vo16UIdQQ5doISlXywT\n5Ibahpp/mKeVLKhNZ3W6y4pSE09vdZfLgZ1gUNmTHhnEWdaVXO8KpLmbS5RE\nnqYiNNWyV5KXJGMVxGPUeKB2rORt+gGTNUKlfwIWo23zB4g1AkCmjUJB5rJb\nW/nYQkzaXG8n7aLpy36FS7q1F2n73yGGX14lkjeRK6ECyXAiqY3D78xFwvTB\nineiR1DoRawea26cKBA79gZKoIRo2GUI5PGoqwA/PHsVtqeNioOFesOJqcmX\nCqzfCKiX+2S+ENlJJWdd8JAL/vVmiIS/sjPEUuGyRtiTw+HcexjE45mNZjSo\nTxEA\r\n=5d6P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGxMcmsGiUH/fQPTpIS7lrUxi/9M2jKlbSNBtfMp9RwYAiEAgeaaF5lg7qqLtX92xlJHnvxAQ9sjZDWKDn9Mgak2Ma8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ad71b16_1588192895946_0.053501394101530764"},"_hasShrinkwrap":false},"0.0.0-93e66a8":{"name":"formio-sfds","version":"0.0.0-93e66a8","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"7cb806438c2d1f824e95041d4781d4a3df5dcb0c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-93e66a8","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-jm+RBXazWa1nvoC4rFj+IcTwFFSxKX+ZmnyfVyX4rYp7svF2sLX7I4AKrUn6HQ+DTzRvBiWhZfCzA/7yWElHMw==","shasum":"ec4f53cc51f7a6791d770ea95239e9d2ec862bb5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-93e66a8.tgz","fileCount":200,"unpackedSize":1259520,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqfAhCRA9TVsSAnZWagAAJzEP/Axr0VRljS7G2b39Qs/H\nWxl4D8wYEfCBgTaZ3c/DSPbd/NdmLsnA5iZysw1rnqKKwvILtm8zjgc6YUN0\nwYuyt4P+g+TDxhhOojO5TwMAKv/asxr9ttgGHasN9+19pHgQtucFS1s4/ypG\n4pWE4GgZHn+JJFjsqf3OFShx0jdecPxPZs4Y7P6CQNNDPYSbd1LyGocClmzH\nXYmfn6VU1aUTQmv9v7wakBCuMHuUSPIW300s9YyvFmMjV2INPzcPY3IyTNUK\nFxtFHHZhjanjTsj36NCsr97P9hmSz2NdmKoJ/AXEmGM1jZlISCZujiVTSLR0\nYR064kT6JFxgLsIQ/mnpfcELWIudmlhLDBWHmlOkKUV/tBX4kklHuPmAGhcT\nGMWPMP2ZIyAiiUyvTnKUElpouqaC7TaZ2lxx3f+3GCtuaRttdikm5/sWqOZI\nwmQoaRZcN8ju3vI+QToyzs7ygA3Qic2UijR1T0hKC8yU3ELAX1cKh8WVK1pf\n9JE+zfIbyV+GJb9eB7P2Xu4gBDJuDcmq+uK+j5vXvdIDS7Eu8knOLD54TzrP\nUC8oIjVhMWI3gOWqQfC52uiM83cjERcbnoESGOd1DHftvh4Ct3A1dM/RQHjr\nspDBaD6nIZAlWdLvAlR9NOHmTzHi/7jyMwiTVxdphBHc58JFudTJHcbFkA9T\nkH14\r\n=TrMZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwauwWYL+0Q59o4TcSrbwsrtwPGk0kVmQc4KWFRyOt2QIhAJq3cUw897WYs0DN7jKv3aTnj2B/5rgtySPdVdPbMnaH"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-93e66a8_1588195360875_0.7111111557534704"},"_hasShrinkwrap":false},"0.0.0-e1807dd":{"name":"formio-sfds","version":"0.0.0-e1807dd","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"cc638ae8f9ce0d32da059b19c5edff7e734ae53b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e1807dd","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-XnxooUpsMO7w/nW1w6OnDPG9MCJGdZ8E5PAO4p0G+/IfF7B0TC7NSwjFpUNrwysVqn5je19QyMOmaC8Eam2sLQ==","shasum":"4dfc600eb57786ec27c603a7ad5af38cdefaa22e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e1807dd.tgz","fileCount":200,"unpackedSize":1260330,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJerDywCRA9TVsSAnZWagAA4GMP/i0ag0gu3AhCLVdiXjtI\nw9n8MJf1umqV/HNXH8tQdq/r1KsaFHRQTgPvz4NQXc/zHk0cZSt81Lr0kMTo\n6yn29iFfxDCWBY0Yurdi9mU/bAK/E2brctMv+63HWI6aghqeZTovFV50VqUa\n7gVHxPfz08UZA1x5lRbNZigOkE7FPQzEpW1Ijy90KV+hAKLvhca9e27LloP5\nnMVnwTI++xWmyYzuP7uoYjtDsa8yQ4l+Rd7dZIRO+W2wWLPVQIAfS/B++68a\nElFeOlRonO+fjOnTZ14xxI9rNx0brxz32Dvy78Gfq12b7LnBSkr2GK2NqPtX\n6kfkDX1M0nnlF4DvSV9O8QtyhBjR7RRR2NsGAFYXGEoXjWqxY405AZTHOg2C\nyJm74uvT3boUu6nSvXLqt40czwA4lI1emS4XsWa84oAh9U7xAcFrmUlFDB3o\nCL36MKLyfs05r3+Lzqyiu4vdxIhyqVScG7HkSekbo+Z2z73Xxf/2/0hwOtNB\nx8pJAIgqyQ7dM4MSALAN7x/o470gmcuHSuW3mQiDwDwvH0shvUn+tpBssTe3\nDR22fRwpu7EevcOBggBempnilFxdpIGKfQitDNBbCjTps6rGNqQdee8Acqto\nO5ZvjS0SjkBuULFqqeyVZpBf5WzdD+QS4XgLKLqrD/C95y5viQmlTSu0TQ7v\nrZ2J\r\n=Wpqs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFPJ48c9Q6zE2OMd6nEB4i0y+SKZOET72VCt8s9pMiJAIhAJ+PsHnkr+SjdZxfKHxy7a8GyhtdN57/oYyenodpocHg"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e1807dd_1588346031366_0.6954382005776789"},"_hasShrinkwrap":false},"0.0.0-a162b3c":{"name":"formio-sfds","version":"0.0.0-a162b3c","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"f8db59f5624b73cd575229270976b933ddc9e765","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a162b3c","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-aZ+Kc7aWWcVVYFtmUy/sqG0B61T0rKOSmm7Di6W+aNpzBypFe7gFhqGaydRv843MoL/SQI2ZDlqS8ILt42pGSA==","shasum":"44124aaa43f41e26797b6003c133fb1edbb9c357","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a162b3c.tgz","fileCount":200,"unpackedSize":1261513,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesGUXCRA9TVsSAnZWagAA/A8P/2ghHquxf0jcq8UrJ0zM\nVzcOOKcucJ5ctHYNGGDFhEcOnhSHS4TIn4OY4NJ+S/h/FEGpQXPXJPoPDcFD\nOJtYLUX2aOXOX0Gsu6OXF4qdcOZbW9ntzqn0rPtSPHnhBQzF7REqsjxhc2rN\nzqeyW+N/OdyG37gD9kLIZA65RKe7mVe2ma+ZH+U7M0pnT4bopKV8bVGFupoP\nFeKjTUYo+Qpu8LSCcy5u36T7GfjtNFODpVXNCaMHlMUqtHdNM6EbbfBdcmPu\nHP7HdI+2GN5m0Ye8vO9Un/dOseBWrwgpt1nZ5M9R6vrCRyLA3JJT8TaeVUKx\nQ3YXV/u/+9rKZjtYOpwZ+MDbRclU5bF2bEquPbxjtC550PCe49FjFzaVdEUr\nxay5GmIuaUENPvfITWWQkutbRQNc3nL4gV2wBQVfZ50jbYXDmxnO263luUaI\nVmZ7klXbp/NKa33/opvvkugbNlwqdnUjCpnKWQ1baFlDA+VTivMh1DqOBjMV\nLV2FbWCcrr2+VJ+EzDeNj+e1kspWjZ2iCjDQhkE91Bl/zJZn7WsJ6ROKWjQL\nsM1LlSN7b0GlW1OTNKLXomFqdSuSFfzEKmz3yyOKN0CYLcF6Ho5ZyTWcR51n\nyh0Z/9WDOsXH7zSfT4aOFBC3gRm6c1Og3O9D7MKqOKkHRlvfsmfmrolqYaPU\nvlI/\r\n=wCkw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjfb41Hb3K35dQtYEZwY1RWUCOxtoJ/3Bht/E2e+ZrIwIhALxQCxaLruGJigUwQS3OQOW/2sZOnpie06lhtBvnKZEI"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a162b3c_1588618518267_0.02081694027650194"},"_hasShrinkwrap":false},"0.0.0-625cabd":{"name":"formio-sfds","version":"0.0.0-625cabd","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"c09790af4a607ec0831291b9100f8c61aa26faa6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-625cabd","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-BghpLSqPo23BlguiV3DQChyI36C3cEvjYEUzwtVF7l9lKHoLYXDUG9OPhGg2nIrhJTP2hVIqi3ealPLcjIIfhg==","shasum":"6fee4ec885b7bb542f38f9919b0d75890a5d4ee3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-625cabd.tgz","fileCount":200,"unpackedSize":1159149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesJEECRA9TVsSAnZWagAAjTAP/03x8+8tMWuAgXcTzvKE\n40J/TsQQTnBPJpziIyFfcpBjHPzLuo/PqZmXU06T35ia6Q6dW/IhKfpf0iZH\nozKpZhv5DmbAyul7zNRjxaSgbBM8OgGrnvc2/c6wvuJfe9mwhqhfa/Jjlm3p\n49rxUfX3O9UNWmOpIlpxAi1wgvk031DtfPqoYalGS92dpBIaIC6dG4w3Xpbl\n56+SqKcYYeFDmRNoGk/79Ei0TwMpwd5hKO7SZrj++aB21AVC2x1R9Xz82h20\nyE7KS0/cCFo5MCq/GXP6bsXWH/K3nJV1ILyPKNd2g7fcIxckE8A84K4+arDO\ng5Nlo41ldtdxl88bLv7BB8kYKJ5BT0Y3ID1dMa7iOnIhU3rxa5QKIsqRRI0S\n+UQR+QmemsNkESuWEMImPGeV7vy8qLUtNrUBPU2mPohDzHbT6BlK6ticNOjC\nK2GrnQPDqoJmGlaCn+PNUkZhsWMmiwKIKLARdJKjubVFmHutnSmcpx466PmX\nI7iaYExqXyyFCO6CAQ75eT3Rvj/dkIMHKtGAgSgE8JsYkJtk0yp41XYy29Qq\niWuG2Tnq6Vy1EwOARHtIQJ1btvvxyDrBaNzxDIYd0Ktz5mljze5Y51ptOLN9\n7McDP3uVyW9jjtwx1/TqJadW7zCQfn53nil++6LuEM6XNMej75tl/aIY+LX5\nSZIT\r\n=ixob\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFRStkyytxFTo1G+I//cufYUoMOL2PFaOxZJmCuBVLSoAiEAm55z+7EkAQ7vmUIp1hsNoBNKwq+A6GwkGzzvXEVC3CU="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-625cabd_1588629763633_0.6473064416146801"},"_hasShrinkwrap":false},"0.0.0-b6739ce":{"name":"formio-sfds","version":"0.0.0-b6739ce","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8e8b7b2ef27c826d35ba2658452946d4ed608414","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b6739ce","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-27fSFp1iEETpOwzvm8UuyNyTm/uQE4suQXjjafqhBSgLU/2WBZFoBD5p679UPO7IGXNuRlRmp7S6nIr9skOEeg==","shasum":"d2313bdc109e2cbfba87edbed64632741c04c54f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b6739ce.tgz","fileCount":200,"unpackedSize":1159721,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesJOtCRA9TVsSAnZWagAAq8kP/0SfQfTgfLOoNAu8pXDt\nWaKQBURXt+TCQf8dOhdn0ci9Hcfl4VBDDa0y/Cf6ssqZzDn/9AOdgNyABSxE\nU0PXPPPSGTn3fzOiQM8tk9LPCNBIsMPZM3t70BRNnI9wJhbRZAwXYz19PaKf\nvYuLbK+AlFOFrN4ed30cfPR1/KV9dnTAt8D7XM6xy3J0C3xorbovwsmt/k3p\nSb75BsUtvuCewe+yB+y8dKMhkr5nzO9Nn1WINpEghZXNi7SEFZrfS/HwE08x\nlSK4DTDm7jO7D36sVd4diw8koxUCYfP/oj8LIsXhGx/KBdKYGnuxsT5UBIFU\nIrUypoVvCH/RK3NZwAY3rXhRGmOeq7QJ7KE+fBFrCt//JUBcw0paBeMf8q0N\ndFrFh/xYLMhJ1oglIDaw4O2hyD8BrUFTcl3YhlZ33E+6zplXUqLWcbg2YgA3\nlm0nr+TnHg+PXogoR4XlqhqqpxCDRT9X2lx82MuKYTZV1UMCh+AqTNTYGqZt\nE4qwkAFWMlui69cnqf+jU7jpX7wKnyn29gd29Yeft16Ary/R8EXn75JfbZ8x\neNPXjCnIokawnXpI5jIQsyZ+DtLEyySrjw9clEJfP4KFVG1YTaecfYEIlaNj\nZNBUBf70E9iXTMmAFnQKx0OxCkua2xs8h6mFHlDTe+GNNwlfaYMufqS6mhPK\n7fBO\r\n=its9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICeCRQ74/KKFLRlLeXm3Nxx1eN7+yiTDftG1rhTf4zNQAiEAnKTLcV2+2Vy9ynpSH5OuVsvuFN4wLfBmRbYtGgl5qKw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b6739ce_1588630444815_0.4113932935545599"},"_hasShrinkwrap":false},"0.0.0-8150907":{"name":"formio-sfds","version":"0.0.0-8150907","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"dc56c9744ce886fb4a53d9ae19dd38afe3de1871","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8150907","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-kVa8H/j633JGTOERCZvNDoKphLctcqfL3jwY6ThTAEdUWgbZrBwKHJHQ2tSdbDlq5nx8wVON2+w6OhPtHvaKBQ==","shasum":"a7fb6e3c535699ee34306bd332d2f7218b430df6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8150907.tgz","fileCount":200,"unpackedSize":1159721,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesJUWCRA9TVsSAnZWagAA098QAItUZV/i+z64fj+NkWPy\n+jT9jmw+hpQ0zkuqaCA4d861kuWhwlzeJr6uE6Kqm+r+yrL/d5Km+ggzHOMq\npcPwFS1dgpJX08XPPu0mFu9n0Jo+dY4JY5eYp94Tqj20R9kftm/YLnJXNf9p\nR/hk8Xf64rwnbBkBqbZsAIhYctD/uVVKHu0TDIu/zCxtQRF+WzBZDGVrDKl4\ncFO68vMQShbuls3nFYARRgDhAdqpWKzpFPCxBwhpeBZXKznsm3+BhMBR6hO+\nhFlo2kXIf4HBVIZVMLZpq6G9O7iJS2AgdWncNE5FKuwEAoxc/HW1TQAMP6eL\niGxVINCuFeXdXM/r+570pJGnJ7hA8astBHE9ZThLx/AlTLsH2fNPevBZN1nZ\ndaPnXd3JuIZ68Bchcw3mQmY8SbCnwv8eqQtL2umWK+zF3ZUzQkbTtJ1wD6GQ\nrc+q84y6w5jOHsfVMa5uaMr7DL/5BFksbeXx6ccpC7GD4pXAIg6dqLqHA5xt\nXcIEyQpeJ9/ZhFFf2xE16ECOD7olkXDf9vPxU3OQ/3GNmBinBLE9s3PM4boH\nSIGU+d8RJ79J8MIcUTdOGrAk8xr2YC1vQZWp59mt6ZJgnk4zqEzOlqNcU741\nKZo4GguSeu4omn1+N+sYNY48kuBwSqWXQaAGn5wZ5/lSx2WWZRzIBVFRkhCL\nOhHB\r\n=p1dP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFncd1HI1YiBGccjEMUFhmwBtRBOq8riepiGPuNJv7KBAiBG5ftaTthrdo/eJBC/wcgR9L/8kgthSOmFs1mcRh4itg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8150907_1588630805779_0.7548462711925341"},"_hasShrinkwrap":false},"4.2.0":{"name":"formio-sfds","version":"4.2.0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"f09ae288e58028653825c4f0bc37b19499813085","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@4.2.0","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-7uKntxKtGmv/hQHaIPnst3Uq8gnAkRZXDuB/1XR0V34dEneIGuxsn0vAvAyJWT6O7bpKs3/Eb3QNCPtGzeh3MQ==","shasum":"763cb26e725c9751081e6dde5070b26fa2bf3713","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-4.2.0.tgz","fileCount":200,"unpackedSize":1159713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesJpCCRA9TVsSAnZWagAAbDgP/RVBMH6bstBhiSF/jq7P\nDwTZDuaytx8Bnh31BLmTc1r9S8mT6AOBJhSnMo98XrBVwkOSiR7F2mPBHHrg\nER3XbajBiectk9Azyx5t6U0FZuRuXK1mLKlfpNlR4JlpuRuYQKGhmCKklEEd\njHi5w23e6W+oR1toQ/DZcSF+v88ZAIPsVllD/c+BmlLv8yX5jmP4+zhIG333\nNxbRGMcInRAd9uacWhn+9kkO5mWiBrr+SG/6Nctq/IjaKIluU0zFcTekL5Y9\nYTW5DkaSKOtARDs6AYSlHQHwl9s69R3dWVtb9CbfX7M6pKpTL16FBZlVmJ57\nVSxl6kDBhiKA5WemWk5deM1Pwy5BhVwsUwcHOy7+9e11RyaBUN6JlHqVUvHo\njCMyyZWLCBGLnnWVeZzkv3Fi9iGw4vzTFXyRgEnwYLTSSLDBRZsJjLMw1//3\nHZ3PHtUTjaa36VL1Kz6iieFt9H/tJ4uEWIoybk2Tk9+jarhGciCQ5GDSn7Yv\n+s1pYa7S/EktQGd+akn7FN4b0+3Qi94vaKzYT46FebTH+PXiYogUlEAisqCk\n6X6ikpNNAOhqowZ54UBS4FJtp4JGVRo8G28GFsaBIiDDu6+7b2ScbS0vpuCN\nXmf4u1/0W9I7G5HCGO+3LTpUuZS5gECsdVc+JvJOrNRBTWRw5i6Wd+JAf4/j\nckaG\r\n=h6Gm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA+I0CdrWq7desuxztN2ohBPk/83Z3O9ZoxCyvcXOPkDAiBWdDvQoQlZVjFl1o680YC7HJkOc4/iXmGDRjhITrmc7g=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_4.2.0_1588632130035_0.912955692892836"},"_hasShrinkwrap":false},"0.0.0-25f957a":{"name":"formio-sfds","version":"0.0.0-25f957a","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"fe41c72c68a910d23701ebb4a5067d7cf13ac964","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-25f957a","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-aZD/5dFfvrwvMbHeE9Ao1kd3QNRrk98676knI8udNQbeoS92Fo8lXujXbaUbbLepWsUoPCGxuQbL1N7KY6Kt1A==","shasum":"819d737e97a88688826f95b3abb28ed439fb390d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-25f957a.tgz","fileCount":200,"unpackedSize":1261838,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesXhmCRA9TVsSAnZWagAA7qUQAIRo9why46yzbKm5VByR\nyI8gmbalsbQIM2zBGuynVDgCLdTZrORDCVaiuH47v3TTvqDU52e5XOlpHyU5\nObJSUi8shsJQ8opXwopBatNNZPtu3TKnSFz0Wi95l+xDfpYjaJRlDrPstOou\n+0ZFlQcCT4q7OH/8VGwgn7UYypSMd5kzhbxVBILB0+4tD8UGZQ0J9YFOwE/u\nsVS9TZZrp2Z8L6Wt/Woii+P2RAvmiP1NvXmOQ9sITblkyuxqb0I6/O23AKoL\nIxPmgETyqWQfslCsrm2Uzi5P/FMr9OOMgMw7ZIjTc2UWAV38h1kMv8q5BQrT\nNsrwaJiZOkyP6vYmaQdKYn76LW/GtT/zWnoCYUTmQugFhreXYTCElFuMkZ2s\nxN8RMLNhb4mwwLpV0n3Wke6DNuQBhb6k5DZwMIklDrGPyvC3PR5e4zeaHlK5\nobvzxthDJmNqbTFyeR85tk/rebC3u4/d1U5wS1BznRjOd8ZI4cK4i4pmRqhy\ns1gjKDM3e6RzrxDXhiymqyQZDOWxgcCKEW6ma62TGpYW8wHBz6yixz8PD859\ndhU6ja5wefXNhZiWcpWQKlLMk6PxAuZzrUhA/1Vzh2MEPN9i6g41kzT7MBrt\nCO0YnhyCXo8Oh0kKSQZ2522wY4Vpxdv9RlMlG2OxvfGwA9pwC3JBrLWahccv\n8VZg\r\n=2WJy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwBGkyQBqRtZ0LqX5iNMrGkYsIY+a/0C2Ks7M74V7y4gIhALJIFh6BifloBcZr8sW+JS+Kq6UVy/GHuPQhg6+ivZxX"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-25f957a_1588688997850_0.41640790409786077"},"_hasShrinkwrap":false},"0.0.0-cb547b7":{"name":"formio-sfds","version":"0.0.0-cb547b7","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ffbb669ab83d4b269d6ba1a690e86111be5a5206","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-cb547b7","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-e74Es/XQVbRPvJYym3ClK2SpP5mVF5pVmzLY1+NIjO8Gjh5N2AAKgSObj+rwdle60OngLatYQwtSWd+Xa4ZpdA==","shasum":"1ef24d6c159d2b935645c7cfdbc03f9ac298e8df","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-cb547b7.tgz","fileCount":200,"unpackedSize":1262311,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJescBBCRA9TVsSAnZWagAA6gQP/101RJ/nMC1g6vctuvgs\nU6PfP1llpDi/AVNbrarpSy892T+5BTksEzUUaw7UiF6MaDlzDZQKIRObL2om\n0eqCgwPfw0DY8UxYIYptGfbFvXNfiHpgrtkSZUC3y2K73oWWYNjNNCDZaBi+\ngePSKCgS4S5nnt+ju3j+pV1QRyqlRv4PhEnGqwDmgo3ipwdmZGtsBv7YsrTx\nT5buHjrxXtUzFJ3SLfX1Ha8RMvGNqdPADVj80oLmp/fY+eQS3SHBLN7+jeVP\nJ0L58ueqf696ELjLxFxD6VCHbk83G3D0DSZ1vIrNqIXyhCIgFCriEFkWoqTn\nW9xm6Szl9ZfOmXulYtmp8AidHuMt/y5/DWNzmicIQzs7EQdZsHMw1GsatI3p\n6VZTbaKZFQLtu3Q3JZLvzD6yiobm0O0JADXFxA8Gps3+/iKdK68wKyuM/5Y3\nnju+TCtMUIVvSaLw2y6+9hPB5cSX6gcrsKLXwoFhuKx4VcBprFJiFOt083IC\nmZSDNsTi9EJbs/008p7tgGeDCt40iSVCfcCgEJL0XbU5nyZtazGlyntkjsQn\nvFom0KCaeiqajRFKLDL27jWaoChyvKTVZepTMMyu3qwOt3pKNGcooDroUtsx\n425Q7Ry+rlUJ6ER2zZLLhshtN/F2U9m7KcsUG+ZG3sIYDQxFX5H0LeWiZIQT\nLG+Q\r\n=D/L9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICsI7faiDQzIeUnwqe3PK4bGlnpljsQ5n5vtcp6vvbkBAiEA4F4S7Yf7zq0HQEVyiihtoabaKGcVpLtYxfJsNNX4+vQ="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-cb547b7_1588707392906_0.82149633116119"},"_hasShrinkwrap":false},"0.0.0-4eaee16":{"name":"formio-sfds","version":"0.0.0-4eaee16","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ba2926ca271e88ec137dfb40f31998115288d4d2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4eaee16","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-4juppsu/59Nfa6iuVaVCCqukK5/yjLv+sIror4irIqf/Py6Ln/+NYIpb3w7VWvUpG2Z7DuI3oN2DVyCHgsKsLQ==","shasum":"27829e97ccd4f012ea18a0e5bab2c3714d41cf81","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4eaee16.tgz","fileCount":200,"unpackedSize":1263397,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJescRACRA9TVsSAnZWagAAKJkP+wUcKVsRtS3nl+vUgqVx\n2WvbUb78HysLiCS87OKNhBo5SG//Kq+lf4SeEX8/ZFYjl0O05iwd6e7dZFpL\nh/UL9SA+yh+HJwNB8EyulaoVcjNGgViHWsIjzjzUm+YF+Ul/sQqBSn6wuaOO\n7eKWaCkPwo9SebwUOs6gL3LwNkyl73JjXLeczkpuBchb7WZPCoUY/qC0C06h\nbgfwyyMgF6JrozJ06tsOnsS2kOfURaIF2KgTbpWamPMwieUkxVlnSx527MEw\nrSjPMC73n0J8h6Q8vrzQ4RAqvDFhCEDJT/rmCOi2/4k7heo5nfrAlkZC76Xq\nXkg4Vad/A4x+fA1SPG4Pg/ocokctAMmujeAtthYHGOMRZRA/uXTK5iajnZ3O\nHSTCUPJAOSgytB3VSt5b0A2/WzTclHvKK/kRah8JZxV+uiE0M4QrXdqFipl3\ngsigUr8Nu0yUpaWErKB77QnOjJRkix2x7CPLVnper16bHvDO43wcF3fX9unZ\nMVyPQ3gk000h50umTPiEJsEN5Y3UbYDDQlTCA/JMI5GFMffm/JqU6Ds5SuKL\nkoctYBaIsHTsSZ6zmpCX/FqmIj8/ykzoOvyEy7PDwSlxwJDWMmVrgHU6mRvs\nFNvyqLPpeu/g9N25/5z6EXX0Y6DuBZezRi46CpCMiJlZRU13CG2cuGt5kCGj\nzh46\r\n=kyHJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCECBKa155UDMH3eeiUJXxxP7haQHAfVx5jrlrpTibsiQIhAJxFZ1WXRcqTRx70Yw4cd4mxNQcB6d8Y77YGxWnm4MX1"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4eaee16_1588708416046_0.11841622978609045"},"_hasShrinkwrap":false},"0.0.0-6c356e6":{"name":"formio-sfds","version":"0.0.0-6c356e6","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"08a5ec356bf573ec65b92a16ed3412894c9a7ad9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-6c356e6","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-/Ih8gHd2lvWuAheJu2k3tGGu1Ldmp+USBg1SwuFt/VR34mf52WKvoDOm5nu0LNOZ034sMXBEVFyV2kTucZCYNQ==","shasum":"f7f2880b77716b626d0a92142f83acaf4b6a3fad","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-6c356e6.tgz","fileCount":200,"unpackedSize":1263783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJescUnCRA9TVsSAnZWagAAczAQAIXOJmW86oSs5oVipydC\nW4Q+Mc0ZMmscWfhgIKd8TfjxrlB70kYcrFDLtGhSd6hwCF10tYwd8jt2N9pp\n5k9J77BEl0Ayv8yWWFnf6exO+6jn/74fSVBobkEOjkp73BqOA3dsgCJ9HvyE\nsa6ozMXme/7LSF7gG6Ia5BzpJCapJ43TemiZrQbXhTn7beiwHqw2ehvd/UJW\nmgyKM9RwG+0xbrhM3YMd+Cvdj/eywWNIyt7G6cvQ+H9pBhDcKGgbonF0cAzX\nfxfpT662iXOSg2KEzBE+Zgk44YnFdH7qc28BgJHEJmpG7e7IzoHWGmRD1xzJ\nlRTT6BWCUIrIFwead9sfL4Qa8KqZdtNalUaF7+lDajD5LVsmPv7bj9DD9bXm\nCY6FYo3ZSsACCIe5i2PfU8pD722zXOXx/ylXZXLL/Xx8l4a6rpNYAosXaFpi\nBdv8YmjO3Up51gih1eyFIAK/CRFrSQGzAw+MZ/k9otSNii4tnzyQ6sicVHvJ\nzsced4jH1buUWDo3KOkr5h+U2sIWwAXRwxiP+AwkfvsK3SaKf+NM4js9eZQ7\nWYkat4Fq6335MHhC7bXGJf7/bFryWYRjE/xxNHN8b4rlszBjfkZ/tzCFYZU2\ng9XGp4fPErGH+laKUvIEh9I152Sb1dMVABymYalNf/SHOeK3g1Vlu4QUw9kE\nqA9E\r\n=O4Ld\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjAWyB4fWs6HklxVhKQI7drll2Oia1MTYfQIPNY80YAgIgIt8yb8poU3j9zZG4UKeaPqG9WFbOS+UtX4Cv7iBbGZY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-6c356e6_1588708647336_0.8728013606669087"},"_hasShrinkwrap":false},"5.0.0-rc.74be997":{"name":"formio-sfds","version":"5.0.0-rc.74be997","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"de1099801d512655ca58151769bd4e2b6756b3a0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.0-rc.74be997","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-gI0XUYZSriYB+yCr0UgMb/RVsywnknuaejA5f5F/O3z8uMdImrMNSNf+C65R9Fb6kn9wiLUtcsVmmEuojWGA5Q==","shasum":"5301fb8336176c1db9aa71361a9bb528d14acc6a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.0-rc.74be997.tgz","fileCount":200,"unpackedSize":1159724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetH33CRA9TVsSAnZWagAAwwQP/010g67UFSMRlHskJ9Tj\nVuNS5I/lEq3ZLVwxx83RH43W+6lmb03D1TLU+yO3Xbh4OnjByZJXClGaGwHC\nymNCxSpOafwXn4xJO0JjtQ1k4nxSscn39VKPLgUQT66ZQgOijnbw1EeBx1QS\nxcWQ+w3HfU0OvPb6C8Xum0tWCyFU2bpyv3VfVfhyHXrIf7y+RiAzf108/zZf\nZSYTYLsnRVklqG37QBqqnoIZsgdi+LaqcnYs25ZcsaRtZU8OCp6+7uGNQg2N\naxeH6gnQ0dKb4VaDhNad1UEfEUHcidg2RhcG1HC7uNT/825r4Vk8YyRuTkpS\nF1Gnqwxxfj4J3Mf7zFwQLw35Ppa7eGuZjOO9MrvBewAQmWqGikoFyoA1AtfH\nPyAASzeuybmF0COVcN19PDB5vSFVvdLr+TS4vstoDuLOxFuRyM9vYvTLt2Q8\n0G6ws6AJy8PysAu0tCC2WLzQEP9vYzZNIqQ0kRn8nLprQRHd9J+2yFOU5rBd\nR4NnysDqa4RdZ33R/MrjsniLTtvFM0YhDKYDK6pCJeXxeBDsPRivZyIh1DVY\n/zeA2Qrnhl9kSy47HA091tk11gTR7+7792hDEUS/16Izo9EKvxZ4w5IYdV3+\nLzSd4VTcaHRRbk46nqnQqUexpgqbvZnr3hAXylrU4B+E4Nn+wjsy86iiID6Y\ndeJI\r\n=9+Co\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCinTTGqZ/eR4YfaF1OJNYL0NDqlMy5DVvDlfvAlS++LgIgd+DRzXWsYwzBw4Pw6aVAx5bmEkoGj+shJPKg/Qw2TEQ="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.0-rc.74be997_1588887030864_0.47480939314653736"},"_hasShrinkwrap":false},"5.0.0-rc.cae6874":{"name":"formio-sfds","version":"5.0.0-rc.cae6874","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"de2b0a3b39eb7cd1e66cf1278ac69aba61cc5e40","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.0-rc.cae6874","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-5HAHdF0XZlON6LJfL38lCZHyayEsu09WXjTKpGc04y5IzyYisjkh+uT2FB0DZwfNH3xq+6kO+JxAZg8rTcx7qw==","shasum":"b172cdd9e6c8ca9a7dc1e9eed5134ef8097f5274","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.0-rc.cae6874.tgz","fileCount":205,"unpackedSize":1183545,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetY9lCRA9TVsSAnZWagAAO2IP+wWKKQQM88q1HaKBzl8j\nShENwEcXBSOVxU9TLRl/pLBpKTBNdnlZX00kbw9MseECpfAeXwZ5mPOv3KiS\naeNRoGbpP96+ny0KLaihWjzWsUvotjjDD3F2h8E5SRnSquOWXxpFWLycVGm0\nY4/5WmCbjkPPk6nPbfXewGhO1AiHosMnaWZzZBzSdrxmoWealID/ayl07Wms\nQxxfj7Go/CPyfFLLh2oYT8sS2V283tLLezUL0leTgmrrDp181eyLkMjWKVpz\n61vHDpp3ZIjxppe2AGsGAimk8pm85njf8nm9HmL1cLGBaw/y+XFNdrfoZwxA\nOUZgK1XZoUa7vZjJYM8uHdbh9R3nUxArtn9G3XoKQyVJdbhe/MiHe7/NTof7\nuGjwaR2uF+z486AkokQFiGyEg7+E6sJRK2MIYoVIPzClUE3iC//jp2l86D3P\ntCyXYRyqDoVAQc8Uxw0EvqDuzLHhhI2kqLL3fsexaR/JzFPj+nKZpA9mTDcB\nCCGMNfMN7zrGvkdILaImZ7pSa+M/lSKq2ycK1YodAseof6XjsUbaRElWfphd\nrWlPABAY9Wd7k7EzGCkenZwO3q415lKyNopzt0Td7dC5ccl+HoGsti2z2NKW\n32tFFIgubC8SQPFFJj8TKjNuDZVikFis6WHdItxTrpg3LynBGLBaIkMmRP2A\nVdL6\r\n=1ic8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcFR4i9R6b4gavfQaxHZpc2WysRmRo5VHjcVZcytgtBwIhAKnTJyFJo921Kt/HMD7a86MRL27cmEGr1xSDhP1RwjhM"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.0-rc.cae6874_1588957028572_0.5321360995591473"},"_hasShrinkwrap":false},"0.0.0-1c3b942":{"name":"formio-sfds","version":"0.0.0-1c3b942","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"5211a2748f2e6ca1001c8561231ba59e5ac55207","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1c3b942","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Xi/mMVhyldr8IgrPVb5cn55IO2pYhdOSbYD/JJkwD6OSwz7cugpL+2LrekQKChLv9FxebNb985Rfn3uvZ4ZIgg==","shasum":"83ba88383e503a247f6a51d27f589790fae2c03a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1c3b942.tgz","fileCount":203,"unpackedSize":1282210,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuxXdCRA9TVsSAnZWagAAmdAP/R4wbxNxfK2LAhx5SDtu\ntu/K25QTTnS1y/o7MYOmr5VSFN2iLK5/uDR4cwZTyZydal/DK862LAoINK88\nLBuny/1nEMSNLxuSnC20CMR8Db09gkBKP5A9TV7xaamiNPy82egBf8D7jFTD\nw6FLwvaDqF5nPEW7SyrgZRl5giaIHYMeZm743vkZycxM6i2JnoST8k5DbvrQ\nbbk48YRhmz9igwopqlJY9UWcbSxEGM1tZ0+JT8+A6WW28F8v5Ic00QYiKVcy\nIw6HTa+3ajMgnSZVuRyxsBAGBXTNRrqiyIBuVfyjer52D6ozG51o+mAFSQMx\npST7+Hk9Wvgc7WMEpYioVXp5ebtwSoXsoZJWT/OHn9sZl2wC+iUf2SIHaQWd\n77SvUym2oXxxk+A853lRe8+75DENflZN93xPrkDigelUL99+m61TwvjTdqym\nYROcqCVbf0JIvqwgJEaVuO/JCVMmi62pXDx9iai54doyuTE8cPzxOnKG/hrn\nE9/ZcSNirz08TgmyQa08vhdmT2yLzc8uGciY4Qto09Z2u7fyqPtD+d77cF06\nc6hF4p3GrPtehnI9m15UBPGXQ3fCA6p2kUm+OttETu8pIJANHBzdL4PsclAn\nWApHk7hH+wnhhzL3X3HXTDSAWZDeS1gk+8ZWzhZRZonmnSfmv8LkG9iEozLy\nN8DS\r\n=yF38\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlv27vjbfMcaTnR9mXeR7o73fOnMWY31E6h3EcZQKuwwIgesDhW6mAmdL3WmgA/5/JmXbAkVDafVzEF0Wn19XBQ3g="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1c3b942_1589319133025_0.07118850971136159"},"_hasShrinkwrap":false},"0.0.0-7137ebf":{"name":"formio-sfds","version":"0.0.0-7137ebf","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"5c850e2aa18119048725bd6a9f19b69d3ccae7e2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7137ebf","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-LSv0A+Jecjx1ffWbXrchlxHXdmjvMGT0LrlTKNXKYtnQw4FssadklcaiI1qMLAuRlMNwJTOI/d6+dZogkkPnBQ==","shasum":"4b268abb3814a90d9744120cffb7c71a47544597","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7137ebf.tgz","fileCount":205,"unpackedSize":1186479,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuyGiCRA9TVsSAnZWagAA1BEP/1oYEC5cW1p6alyUWd91\naIb/e98Jf473K1Izo6QPLLdwUfx/DR1yNerQvyEIRMwfAfDdsX5dPR2+m0C8\nXdf+GbLruF/472CcbuNHqClRfcy8Gixs+KKpfSqHwAzsyR7XgPxw46R0Cg6Y\nli46s2nczkusELQXVVIhiz4roNJCRnNjfP29B3QrJ5zKVTpZd22fUkuza2QS\nmn+qhGJhlU6S3MY1Ca4eRaEd3nNy2dzfdb5NR1WNknVAEmGM29/DHxeFHZJr\nHKuYJvJlEuuMztsEyZRIn6CYqjFMYVU4p9Vv7MdiAPabcO+Fk51UUph2noUS\n4WwKYWiYCLA0GDfw5bQIPk6FDJ7BhyZzSQd11yaENw58iqrOqlNypFO0SkJT\nsoSoYy0NUr67l+0TTwTXlViQ8b0yyIiXxllU3nxm2ebl7RoezccJsafuFXCC\nfMyHJRZZxDkBo5FbjJxGr0hjfnmk01PQ9ijPlvShFbdGvV15P/ZOLMhbR0jS\naFd71Okza6PC3i87U2IbfcptX8Y4ZNvvcKD5xNpptt28qCncnF3jSsih8guY\nLrq5Mv6mlBi+93KVW7ryLRf1kjcOZ4adDy4YaofVeiNbJvvO8+Bv9ToR5Hpl\ngt+gd4rqovsWWWCqD9K3JF1cMd5On0962/nbyWbMEtHAcKIy8kX6ONoIxyMR\n885Y\r\n=zMlP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpCJRrxOe28pPNDF/jknsNOmgxTOAb4KolQJr/EDKvmgIhAMuNx5G9znJNcdQoBH9IPQx9CCpbivl07tWcD1vp2nO+"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7137ebf_1589322146424_0.16969222798127848"},"_hasShrinkwrap":false},"0.0.0-83ef4de":{"name":"formio-sfds","version":"0.0.0-83ef4de","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"420a1fb3b69a91661acec53cb56b5a2ab3f8f637","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-83ef4de","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-G6LyEzI1Fwk+UOL8eGNpBy9IFF7nsAZIfOvB4zSI+1QRLEDbqtrLePS5TLd0rGCaPwXTr+waBBPQAbnU+Brr5w==","shasum":"f53370827b322f792d5f66f7bc6f8e19959dcbd7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-83ef4de.tgz","fileCount":205,"unpackedSize":1186542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuyIICRA9TVsSAnZWagAAuP0P/AjVcjg/cX/eccuCbvQU\nNcZWR1D0XyV0TPj6lPh+V56iKdFRHEFCuYiXNdLCFV93xcZtP+7EueCQWmOL\nvcBI+Ev94Zqv6sCbd/772/mJnjcycEReDLcrsOZO8l6J4e1KLk1SmemgUevN\nhQNuQA3kHKIWwe9BdgC47pSVM2Rb6+6ep2bfhRTPIO4Dm96toElkJw6AYgq7\nAdfICAlCU6aPD+jDisJla/r11X7bxi/Aeux1ckRCc8hjt6/5OdF9Y67IuJc/\nriyk9OpZA1EA4DF/dc1dMOQG94JjI4rG0g1NoQdzc1YHsz5r5efMK60N8UCu\nVHiceKo0zQ9/lNLmn//+7aeAxeXCNLxbzaWUHisizSD5vBd/fzfxoQmz9uJF\ne6o6v9LMsjBvrro4JVlweqEwziB5gbjTCYGlxFBjt17/WLQ1HBd3rclNxbpc\njQM6gQPSwjbML0vdjiwY/L1MCtWXCmUailEulZdZBITqwAUloTK0wqFeCyqz\n39qoTG60GtJnCIS7BRWo1GSHY2ReS/LDdLoUdWO+gamAhKX81K3xIWhJto6L\nCM38MwrcALxP8NcXCysWTv5ZtGHrDuIuLk7sRuF6mx8KKBYlDZFHOQvSnlfg\nuDttQFpAj8ucAb+JyUtJBSZAnOvSSJa/+oDY6LP1NLYMGStKmKzWSNbYQfzX\ncSeQ\r\n=sMXd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCc4tB5LIzKybK4q4pvobYNzp09avBF4CvyhW2oCfoHigIhAJZ9ouV9im34DkhCEr0Fo2PUC9kHCsoj8tUY6AeJsone"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-83ef4de_1589322248183_0.9821228341719375"},"_hasShrinkwrap":false},"0.0.0-1c7d59a":{"name":"formio-sfds","version":"0.0.0-1c7d59a","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"17299b3ace108e2a78fa98c86935eea0b6e922af","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1c7d59a","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-sHa4FR1+dFI8/mNweJeQi/vfniS8R8QPj6psnIVjbrFkdAxUFtouP8QK1WrISNbpj65l73olqvaDZJBum3fW9A==","shasum":"efdad7628adc8b03abfd62f7341ea691bfcd7f08","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1c7d59a.tgz","fileCount":205,"unpackedSize":1186570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuyMbCRA9TVsSAnZWagAA/rcP/34opIzCjCaFEMTI8GDP\nJkG0WYYDbu8pyRYG5sNmXW/MZSa81IY0OKNlAu1lCt7QeGYpfBkSnKIMOtm6\n316uMBsZSsnNlAQLbb0Kh7zGW3GviLrbBhNKq4SL66A6EkydRO6l3BbYunb5\n/852yCxTYBdUUlEX46by5U8CJGIzITSYQlSPECBnv731jQhP+ez2YN+dC/4g\nr1K+XJ7iOwtdQPsHk+bwFl+9NGQYob0FXC3+84Jq8h9Jzp29j868b2P0Pzlj\nE2Wu7lzT0CuWD3C56bWpzaCXByjweuUWG/k9ZhWl6m6JmAbDPciCrntwFPuu\nmgMeET+ocMPHG1MpUDbXBuip56/tzgtX0yY6pgdsZgy+UEsqjoxEXwth9Bi+\nBZrAtC6zmLo25ce3byyALQN5Smg9aKmyfFjd2VjGmD+ahwXXAwKvFTcTpCh/\nO54HQenp5BefZlkqIx/Ezm5ad+WHmcOxFlOPttE3HGETOv08q5kElk0F1GSQ\nwlxjJZoKrLthJq67NhAeabK3hnAkOQsT8sqVdaZ0ZlmIDEvCriO86q5majwo\n/pvqte9Vgr3UathfAqh9e0K93liKXb9f+HHL2RQjV/+w1ZgODRnVgariYkdJ\nZYj9Jt6JYNV3yWMRdhx1VeSJxPrjwHFPTqlrD/N62BJxARFEtRfZ9Q1BDLGg\nAz3z\r\n=yhfb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDLHkOYqhO7FKOkm30pWhpDdQK/vGitiKGWfRoaN62zVAiEA6m2cfnNdxnxbs1ijPm2cvKIFYfnuABWQ066hIPJkY+k="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1c7d59a_1589322523006_0.3530409033527291"},"_hasShrinkwrap":false},"5.0.0-rc.d2a351a":{"name":"formio-sfds","version":"5.0.0-rc.d2a351a","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a3a14e5af8fdb4d15cacbd30f626ec93685a5d3a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.0-rc.d2a351a","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-FfMQ7HvqsNtuCXn4/ZW4i0vNc1szrmbATPVuUE+9N/zJMCYAbB6xEcSo9gqZD1pHCC0aOMjSqFlltHjfQdGqzQ==","shasum":"fd692f0e904207674dbf7f341f14c3180611d26d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.0-rc.d2a351a.tgz","fileCount":205,"unpackedSize":1186573,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuyOHCRA9TVsSAnZWagAAKfYQAIt2lCMRRCdcCDq+zC5X\nWFEGe4u+g1c8upcaF0VC6r1vB/YT7mSDzQvqOlrLFGYnEXVNRW+UM3pIB4Op\nFaK7AiDyFq6Ds9X622q/V6zE6bZZCpM2d1J8Og+fEKvuhQaDwag3FxW/wEmZ\nk4nS2uOemrrGAell5luG80AR/FRkSZB2DeVRWVqQKaRq6KjYQDc3kk+ocnIK\nSxiFTUU0Rg/54qHPXPqwuh1KxyQljHOx6Se7Cakh0N/QVZ7VzTXkmXsDOF/F\niXzY+66I4G71pYl4b97Ro8+mT/zat/cj2DdAnbHCvoEYylzhimcYCXFw7TX5\nwvQGxAMhJcyjAeGi05OyL9S6jks/o2P0/VLNJKnqWNiu+ZF2ljIIfy3m4ojn\nLm62AAXCdwsB1qEgiuXC9xuHzZluKIesEjYD83SRlVTjGWJ9i+/8MdQOtbWO\nBFkf/InxgDU14RXH1xzZPd9EcAOgqWCjipoX6D7RqfmuN/N37eMbrcunzyWE\nrx/B2HxTRjJsV2Syb2QG5eXfPbIDK4NGQkMIBdSwlBk8FBRG0Xq+1hYYPSlt\na4QC1RvKMTvgrDJjNwYsc9w+UekjcyUJJjPlgk8/G+J2Q0xdkOtzZqXyf9B+\noXiHFhYoHLkNtO/e6TpUpzg1WzJCbjudp0lWtMY4Q35EdCXz80idUERLQnFL\n0tcM\r\n=eINX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCdxb6SvKYvA6bAUZQ9OLAmzrJUGxLugZxnCs3q7g8jQIhAK3r+TvJAdOaNxnlSVTKrMP0TCyJc82dK5TjHzCXmqAP"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.0-rc.d2a351a_1589322630823_0.7924494117300258"},"_hasShrinkwrap":false},"0.0.0-b5e1622":{"name":"formio-sfds","version":"0.0.0-b5e1622","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"24e409925a832bb587b09cc6d55c1247c7160453","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b5e1622","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-rC6qJJMmLIwRBCuedSub0mq+LUvxdF3Ai+uPVoU9Cb1xfmwSQXAqx3XSal4LadKBmwUL3VbZLoSPm9q4FcH8cg==","shasum":"8fd26d26e9bf437eb52f44809bec6fd81c2dc780","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b5e1622.tgz","fileCount":200,"unpackedSize":1263800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevBiYCRA9TVsSAnZWagAAZzAP/iJxoeWSAY+vsRt2YnGc\nhsMvBeCzUqO8g/cO0lAav0R+p/aCSJPS2BCIH4L5LG7qApyp6gzaiK0Bdzz2\nd9GzLN4LCfVGB5dlQX2QKJbxC14nweER/Wh+asK2HclfmgnLqqRWGtSxJHak\n1AA3u1NYxtFzE99OEqiIAf8C7slTxY60hgCOGqGMBjuYALZnSWDwtQYsAKga\n/MmSfq0hqivw8KwPUmVvxP3QONBKGyYn5rCcBlvdnT16YzIGZDVUaibA8o9x\nNUkaWGqkcJ2aw5IhwIwzlhjtvWrwwfpZNizfPVVLLuAJ5gcYlwINFnZnRNDB\nLI9+C+WAJzeBGngj+6bknvBjSlzdlRlLI0KMRip8UjtKlvq17/7OgnsxS7Ep\npcaP0A886YhYxoUu1jcB2MWZHiVsXjHysU7b3WtuXlIUPXDDxh+RTagjIXCB\nOFZBUgxsPBOMmbZ9AJHlBxh9df0yH654Sw0lp3Ltm/qNM4GD+UURUNUUNuIx\neWe8uLHn1uURo2SMOdC/P1vLG0ZK9CgPZ/yBU8z5XsnHlBeSOpFbP9PJhBId\nQbSlqilqD/GPwW/TrWdOyMFJ8ypmh+uSvoGWVoSKqb99UTrr9UOLD5D+MUSU\nRRPOUoaMsoYIbWosSvAYFx3LK1yS9gtrmdQK0YghtooabCNboBAoSx+0CUNI\nfjDt\r\n=tGKz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHhP2j2rOgfj++RqY8wfoikUzsnyZjhTrYOmgfVzwz8XAiEA1V3DEwX70vX3nzTEOFLkZBNa4uIR3wG5K3O5Gw6krtw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b5e1622_1589385367514_0.24224560963725672"},"_hasShrinkwrap":false},"0.0.0-1994d58":{"name":"formio-sfds","version":"0.0.0-1994d58","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"9d9df2320a3fc87253a0c452dc47989ae06882af","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1994d58","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Ddt/ZSBheNPX26C7eI2TRQayrbNkBPKrgeZn33mllB6huZUCFe38klO2SAQRkVSH+Sh8PwCADr8c7ui+fJ+Siw==","shasum":"ace7fe9977b6af78c78955eefbda5ea372341d72","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1994d58.tgz","fileCount":200,"unpackedSize":1263812,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevC3RCRA9TVsSAnZWagAAyYQP/Aux1rKFl46j4u5/XyTd\nd5uOApH+A0LL8zoehvwBLgAssvibRrqn+fIo07uBQSSenVsFcQf38/NLCDkX\nFidlDGC8/G8kN51VupLrXeWsXPlSKLRbkNH/yJ98mW4p+f+N84bPPZkmOQSn\n9o8Smtk2B+Hf2ZzJNw53cx4E3kUjV483UB3MVQ7kY4UmoEIZzJBPPp+1sPtL\nw4OpmpS5/1uQebeVXDJnvco6e7GcGovubqpciHXJke+ch9QMkoKVUnslu2EW\njVwtaKAvTLtr2OdEGihS5ck4p+fOP+q+gf83YxDeEVyVJTUGdRbeE1MptcZG\nohxO0MrrD74xhimf6RiyXrMUFI289dZXMMkE+dFrVEC1vjiacBB61+plyRfq\n4EaVAFtbS52skVAY7ljufnNTsx1dV0lFCXWcOTGHynmsZ4rhvEI2r+aiCS5K\noc73SrAUjfnLNEBZb/t4eiJ3aSek8o0mElSCbu7ToBE2l09vfwKCD5z35HSo\nQw7hcFiw2nH4YLOPaIR32Rw4Gl5yHP2/z1QW3bNSGMKuQwZs55H+Lc1xlNsl\nVQJobG0O+dznedO0dBP5ZxDPfEYDl10G36W7kjz6aLds3l++kvJo6U3ft58v\nu/TF8l7PgJsgv1s4N2Grf0tbxrjgRS7eeyOFk28A/AtOKt9v29g71iHocVB2\nbljy\r\n=Rydz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBLpYecQwPg6HIUbHK4WXm8Ngm49BpwPLk4te6bH3dJsAiEAh1XYijH1cMta7t8wQDK7n3FsU/aIasJHyZwS1lE0y8c="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1994d58_1589390801031_0.893508150481592"},"_hasShrinkwrap":false},"0.0.0-f6d34d0":{"name":"formio-sfds","version":"0.0.0-f6d34d0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"fcbf927a91eb8d8f031b4fa7a1e123d266d9e6f1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f6d34d0","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-18FWsAnT0+PoR0cTczMjUp9xIM83zOLWR3/zlTo33yhVwCSMZL0P8xtoCOVTLC31pZk7fbhP2rZ7rWCMRi59dA==","shasum":"76822b2c056c9799656002b5f8daaaa20f7cce38","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f6d34d0.tgz","fileCount":200,"unpackedSize":1263288,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevGK3CRA9TVsSAnZWagAAo2IP/iQflPdQXBorZ9zt0axy\nfYKNQwPV+j240s6F4Jdeob4hR/mb6UKAiIQ2nIr1HSSZvQfSMK2UqDPQbtub\nVXo8BsjHOdc56JGFERcHDSbM/Ni8f+3mJjWIw/EcpL5X1PFb706qCf2tBx04\nwNW/S11EXNp7BWNdmWAR/M99QJlZEWjglzkgWX2t/DagcdhV2KEqpx8VpoAb\niMJ4F8MppBm3q2ixKJYpkevcCUhb2WnwCMvCV1YERaoHQU3qb+DidMV2rUr8\nmYm9fO7NjeZ2v2Fx3FlfvIqLQUKaRbHnzU7LIBXWNq9ITRZZYbf3hukPjw9T\nHl0heo8c+qQzMFAk84XCqeZfXNsvni4AahTLyIwnjei4S07K+Vp10Uo01nEg\n0VzuAzY3KorZ6c1x/LkVA+tXpi+3L2t8FDPAeFZs0xbERKdWreKEfJpUkw1i\nK4xBol4318faerreOQpB4BLUNE/mNpXP7yIzXjezn/Q6ID05KZQbrjSPWn3m\nxnck73jLJUSdPcLx5eIUTsZ666mRhMdhPJmWrBBssJ0bf7PMLh3wSvFvXG+1\nyiH1NaXJapv/H4zeWKajMihbOl3D/G7DU4Uxafw6xKmSfQuuNQXQrEoZ37eO\nBfZjaGu5prI15T9RvZ0xnQY6jdAIC1HlezkDeGl4YYUmssVzw9qdDcNQqEhl\n9DBP\r\n=Cl+D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGaVTQawExeXo9KqBmfnihzdVilmRYj09EHZehGhxMRUAiAdxz+9354oeck1+r970hOG97jSUtwnxOQxq9NZWGYC8Q=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f6d34d0_1589404343322_0.6515185808081003"},"_hasShrinkwrap":false},"0.0.0-18b6d45":{"name":"formio-sfds","version":"0.0.0-18b6d45","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"656429c0b4724b1a23ba3c3ce8e6e41029f0d0ce","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-18b6d45","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-2xdxQ8YzGA14Gkt2aJbl8rpB+NI1dL/o9JfB+Njol1awyi5gERUZgMEVI4MQXl37sQfJGkKG9uJldReYhRnAAQ==","shasum":"d10e1d4b40d52fdb7d7c64d4dbe56c426566585b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-18b6d45.tgz","fileCount":205,"unpackedSize":1215365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexst8CRA9TVsSAnZWagAAnpMP/13GnYQYUEo4DhZlcrC4\nHqdAeHfI4bHKJVL8nfXJP+N+a5A82y/cHRK2w7f09vxlgrkMNvuEz5yNQVEt\nnphnxzooaD8QGa59Mm58/oj2MkJEqIhPqTRcq37mQd515NzZ+GqLroToLohi\n3nMSgsG1QFpFTh4qvRAIAU1rkxSgpAPKycJUan5buJkx2MbjU7uij8O5Fx+x\nYfpj1aGxqF5YhiYtmJ/+TwOSkrSaxotrICmRSBcirEmkhqFQRHwb3mkWmjzU\nq2QDOHHFvroLvTjv5qRVgwO0mS4X7lvYiewGugCI+hu84zO3WfAyXCNZU4PZ\n6aQ2Ngcfyx3QG0QcYQHhJ7YrvnkAx9UcjVlviDkKeQW1Q4YDdXo8W05UsCGt\n6c3yXxBnXnQ+S5JiuxdoD8f8mExBireqZu+HPx+yLFc+qq8DGHpNCEWuNq+B\n/xP+DX4Vfau8/0tpYgOKlaydLp0+dx4CN6MzCLEktj/8eWLqapRSC0hE2Bxv\nPvDsNuxYqqS7JqvnISjbClt3z9KSz3bYn+DfpYwkwcwacHYBRxzhgIeyTuTr\nd8fDqR9E3FlMqs2SHkqbHrDdmy6ZTo9w13SaZL7WqV0QFF7RfJine8t93W36\ng34ofpAst/d/p4hE22osVWMwM/i9Xa9yOX3IRVrhUwx91WKH1YLhzaoMMKWY\n7obe\r\n=Ap6h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBJjUFloy4MBRTdFUkr/USXXSS397iuNERGRkX1Ur7YCAiBuQStqrmA3rRAIrdv9Dam1BCHtW8mhtEcSWAgaFpRwsg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-18b6d45_1590086523397_0.31132707949044813"},"_hasShrinkwrap":false},"0.0.0-0bb8b2f":{"name":"formio-sfds","version":"0.0.0-0bb8b2f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"6d06aa18a6776e0659b64ad56726d1624ece30d6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0bb8b2f","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-+DVA7uwXX/txeb2TL/DM0CYwW3/07PqEQ7OvLia1pNkxUaQhjFLHlWEDWdj4saNajreuqjyiImYJZg/BOLASQw==","shasum":"f36dd17cb05b826e2cdadc79e30081842a87b960","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0bb8b2f.tgz","fileCount":205,"unpackedSize":1215753,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexs2ZCRA9TVsSAnZWagAA/LkQAKLgbdLUApxYLm0varGQ\n9ESMdbNXTY+CE39WuXyXDmNH4jhYPYB7s7I3jOvDr670rgy3fxAJC/OR4qiD\nLsSQBAZRfqtODPVoXmNMFR24htfD7m3ZwPQsbqc7k/xyl5OUfMAdB9Ev8Wnr\ngUQ3nRo2qPuZTBQqijGDUZLex4ZH0eldLTsmiX//LPWxHnCan4BjIScElT1j\n2nF/pP6OlufLwhcHQymN3VZcy3tGHlIVojvCpcIAPDFkWNuaGHNQRMlAm6Ip\n5EyLBa5IeZDUP82RbfnGBhhFOUTeTqCAtQm5CJAppxAxy2JkxHdar8YPT5SJ\n+ODqMT6CJnttKlO3JTqeNeRLyaKuPO+D4sN8UAixubGMAeAEPQjdkyNPSe+X\n5P3jYsD4pWTy5RDbuEOzNGGq6yR9sHKvMzPLcnPtfMxuCKhEatnSPFXuiwG+\nO7p3npI78IlRWQZFXsVTVEMQtCipuCwroOJSjMhkiCBIES5aAkIjyocryMBe\nEiawq7vCW/veNB7Xrg9FXGoSE4WF2zjNP8gsYfjXSmZfjC1oGF1cIHKxC02s\niM/GFZ5fybVpRYJI5icfcKRjY1Bif3CX2d7tocvOpbDBgD02GWjPSU2wbQjr\nMpEOPLNHIStQ6ZNkcycMpai5j1yfjjWIcZJmSIGJRAX9tORrv5Bktl5ryXdh\nr6ra\r\n=rEHz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIARM/irWOzoeCWEAJUJaQu3g0inAb3blzaaVio4gKITBAiEAx4U11S+FiX5mRX8RC208lgC6Fs5BYhsZj0hZU0MIgQk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0bb8b2f_1590087064672_0.18273781019016333"},"_hasShrinkwrap":false},"5.0.0-rc.eb0ba98":{"name":"formio-sfds","version":"5.0.0-rc.eb0ba98","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a0cc411a7a263dec3409b14528a33a82ce752f46","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.0-rc.eb0ba98","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-XFwQiH/+xFZsOP45YCf59f/3oyD2d5eaQQNrd9kdTl7tPuNR2ddehOx1Z8GXHqonlR7yo8SXb9Z4PlHwodOEEg==","shasum":"b3f46ae0f4046ea76207a65bcbd0661af5f8478d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.0-rc.eb0ba98.tgz","fileCount":205,"unpackedSize":1215756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJext3iCRA9TVsSAnZWagAAf+EP/iTKyTXxdBSr+6/o8BG3\n+0XnEe+/VxONf99yjPJiNmHiggBarp2tGQ2OQYcNF6bZkPLrKgpJxQWa5Krp\n47c1R7kPGjsbbEIILgF1XHPmHwAXUc8dQwc4Tz07ttX7YRU9laQAK+2pZqMs\nYo4np807GuMmDhc2pzJWa3zbaR10W8RhRM2fpZygFvIBCosgR5BeCxhRiDkb\n9oezojA5R4z3S5z5QPdTbD3cMeeMsr62rOsbT4vSDALARi5vYgxkOcmvr/e2\nsWjjQkH9OK8sNpJ2pdnHEKV5bzzOMkyOEh7N1SmfQh2Zc6Q6+sCUcUyyFQqn\ngkS978YZJjXzbLyj1Qn9SvFBRL7mTpDix8kZ24YU5bzMx6HydHdDmydDq9a1\nwrxeZBJ3GRYVzRNDFdLwBJP3SIjyzPkbGG0rAtovDpgE9Xw/9S5bydli59vJ\nwPWvRthkybkwNXA5+vCV/rjZO1quzmJIl94RNNn2UGFpJHh6RLwVJMcJBOzS\n/valH6NrHul9AOccbxesSxdNB+G0/CGAjEShJ99xA5Pg+hr2BHyeFpQq0mPH\nczI//3dY5i6nsZ7/D3GnSH38Yqe4cVnkUSJFCYHVSCe8wJVSUMU16mSgJTMC\nbF/yEFXEnoWeGUDBL2+zlaY0DWZXDN7CdjM3kXw/oEyiaVDtE68z+iyJoAXW\nRSqL\r\n=EusC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbs2xE3w36i/+FQjiU4xhAaj1Cw6v1TxLrMiEOE0bcrAIhAKP35xZcE9RSvVi7Dfa9lh1JzAvVXIo0SuqCF72hIAji"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.0-rc.eb0ba98_1590091233395_0.5602476055484553"},"_hasShrinkwrap":false},"0.0.0-0ab3a29":{"name":"formio-sfds","version":"0.0.0-0ab3a29","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"807e021b6323af939d1672a8d3f8dbfca78e78d2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0ab3a29","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-1k/BOJAlUAy/hTP1uWjVCb9f7/hHOx8UGLoQXCB0RoM38ZoR8g0UMT3JE4AutjgM3R2y2DyGFT45VZhcxH5TVw==","shasum":"5ac6c5b65ac3ff13aea4ddf4ebbc82c04a03f6a5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0ab3a29.tgz","fileCount":205,"unpackedSize":1215371,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexvI4CRA9TVsSAnZWagAAUGMQAI12KyYy6rKH2IJ+KvxL\nPONxSFWOGdSVKa08wDbkA8lDXyT3K4CJas8Ej7SbSSu1o5UfU0EZguVQHgJz\nj+cpZCritUEGSLRzWxLaSiyJCL+w7F7k/uhm+1Ue19CpUn+6BqSUGeDo1BiX\nrA6osi+yH519KzoqLMSyjIch/n/XULS3PF51988QiZ7Bm8dgoY4Rpqy46Eet\nkoledESKrVRWvMRzNMXbfa4+OtOiX5EUa4IQonY7wjJ4h+hzz7+vCjH599BH\nBT81ryGGMJGe6WC+f9EYJ/PxwUZ0X2a9XqrNUZdwLSy37H38fhDXhsv8zBwO\n2HBzHvAIDoYFv3Ag7EyyJqsLPn1ExqxHCSS9/3yAvP6tLCCxEbOlRTBUAVzp\ngNWdHf5Kg4biVoKVoxgSfJYZl2mIEfVOIVaPacg8EmQdneIZk8n7KgYg7Vde\nOmY/bopHMhAr2fLzSugI1Zws9H9xduCfwd6OYAgkmlg2KTePzldT9a1dBgWt\nWky5ZM5fRnnDGh9L/0czr0ivHFYWJYtGnI2UaKHln8dL2WJCnZox+POkkWJ4\ns5aOSm1hLXhgIdJ2tYdmfLTNM6NjGPOhtVzM7c7Tb3F1b1wLg/damMFurz7o\nNNXILQpDH7vw/itGkYPgPkgFSbmKwkyufXxSphEKnPLNLRqAZy0GrKe/TWHi\nRKBh\r\n=3Y9e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpN+nACgeKfGSZEedrWWpLYxZ8MDfA0T9GgjnOkmyWcAIgIhGTv3affuditd0Qy1PJQhCsWQJs5DdKdS/5rgdmN2Q="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0ab3a29_1590096440172_0.3577552571983109"},"_hasShrinkwrap":false},"5.0.0-rc.f2c0c0e":{"name":"formio-sfds","version":"5.0.0-rc.f2c0c0e","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"4348410ddc6fed142fa3ef76728f9a6dfcaa52ed","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.0-rc.f2c0c0e","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-7238ZMFdrRRNL3TVW8pN1SqW7oRQ2EHVZOtewXW5RGAvEsLlB8nxUDRMZgNdtkV3K7ZYrLOEmQQMXZob2EnpGw==","shasum":"ef856f3a94cead78f9e829c940bdf03f2f6c67b9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.0-rc.f2c0c0e.tgz","fileCount":205,"unpackedSize":1215374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexvMbCRA9TVsSAnZWagAAttoP/R19ltB8p6kq++Ia6fIr\npXIDjD7oqlszeBpqMI3fChjBzHApwsRcDgU77XVvdJL66adW/JjOzf7OdRJ+\n4VDafPVcwEaGPF8SeFzQStUC71fHXNhDh2cIbZNWIiHJUjxRvtNQFG7HfDEM\n9+ygGA6lBiINLN5SF4ceNIbn4E8o+Zqk8TKjxgRXAQt1ldal0iUSzyAL2Pqs\nowB9RJoBBueO+TsbROlvMXoSDxGpBYr2ni4yY1QfXlQZSMvs+nIxjAx15SR+\nUt1D7LdhIw62h9C09XH6NL36wN/ELOVp/bJd3U+O1575W1SV/oBn9URP3q6X\nRj1mAuMVZ8uFV5RqcwMMtQXSPLWvTw4EoSN84iDPbsXD3OzsJQyo3bTdR6JM\nQmmgyCoyaVT9JGcSovFCHytzzDV1zfq1Nadt3/tmUr5IcjEO4GeCI+DziiNM\nxNveWir6pYVZq3pIqkmA+MnAuxgXgFX+I33gBhgeHLFskV1EaYhMysNde+u4\nS3kBhHZt2oSEWnomOZ4OYBjqH/MYyQ5sqlVz/ut03MB6kRVj/Jm1XufcURlW\n0f4LReB9Nkvtaxynw+Figq1Teznblj39wo57uvuGvVqFSU7vfffU6ImxKgwX\n4GbG+kKQk1XJ8wBsgia7goGHfxOQzM5VHZ8mWBf0makSYL2GgUUQKFVCRUDS\nm71f\r\n=xDS1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDCcuytG8NooKKAjCCi3UIruzfXeUevWYOUeFRqP71wwIgTFH4FEbjSrFiZHXxh3TP+/iBnDslzK1oT0E49dJgZ0s="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.0-rc.f2c0c0e_1590096667383_0.19799041497560266"},"_hasShrinkwrap":false},"0.0.0-2f986db":{"name":"formio-sfds","version":"0.0.0-2f986db","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a7db637b81e733e3fea0344283024cdb31501efc","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2f986db","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-GTfW+Lz07jEvNWwnYQmRucEt2OWX4RtxzNkCOtzEZCHRpnBO/fcLrUBjYPSZiS6YZZDqFyk4AnCU3Irg+cJAiQ==","shasum":"dbc5f71a23723e913530b779899ae7f3bb7a4df7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2f986db.tgz","fileCount":200,"unpackedSize":1264368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezYOWCRA9TVsSAnZWagAALP0P/2CD5N2Wns55vjdC0qGp\n0QFcqZr5PRNFNfUqYPy9FUJE514pwCZCOB8MGa7Z3ZOg6BORpZkEG+eLsfa9\n78sr43xFSITyDgixQwMBu20ShTD6kxXmDC48h9M1aDxhQ6Jve8Ns2oONDtFa\nAVS/GTtGWFkguIkxSZwqKQUBr0gxRMi3q8iEKEpILqagmBUoP0Mz7WdKevT3\noZVtJCVxBpTPH3jBo27CdMMVp20WUnuBtDeCgQWkAHAbMWoOG0/f9UllkvF3\nySvb3h/7xHq32pEMUKrMF3tkyWCvfhlZr/BjEQFs9h1WL7yAESxxYjYfgj55\nxMNFYhU1ccBZSBpwxTjhet8aNienywdCM2V+488XMkW3hrGFyvR1L0HcqeNF\nRyTg2CTRDE/bktKQjzXDKNuSrhg9zEEC+vZq1LyFlpgTBInCWZje6RG1D8sy\nI7ynt3M9VpzBbYo/Z9OKqZHg3sm9RPZZwPx4i2tDBIAzYiEdtxrzkXUJDpIB\nSl98XnnKy2YoHE0sqAaaBekfY+IKcWS5T+ePBzszen/MKXe2zddY5HTNWVUI\nyPv8qrDElI8yAiVuf3uumxsgQO8nOirn4KOv5l1cs0c0eIdrZGF7xi3kFQtL\nKOh77l4A20wJsj6r0h7xBOrUMLXfxgtpC1zCXSXfEu8h+KGldAcQGoGhGqWQ\ne9Hg\r\n=DJDy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAD/W0D2PnE0RrfsxUYLLnFs72uV3CIC4fLwcRtJgmvdAiEAzOgxBqkuNDWOxa66Br+YMBjp4YRi2XtqkXU80D+Cmnk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2f986db_1590526869538_0.8478821145968096"},"_hasShrinkwrap":false},"0.0.0-d6b7248":{"name":"formio-sfds","version":"0.0.0-d6b7248","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"04dfc47cfde269578418db0868c57ff87329e465","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d6b7248","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-912Cqdmx0EbaZfXzlJy9eTazrtG+7mLgasT9irwC0Ue/j4/3YkhBsNHvoiqrfwywz7oT4kLmrvU8+Dj/cNyMHg==","shasum":"4ed88127c7e279e1ced36395301e9db4e042af62","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d6b7248.tgz","fileCount":202,"unpackedSize":1165470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0AM7CRA9TVsSAnZWagAADV4P/3Qx1+y7enHmNzmTCmhc\nzHjhGjvomaZN3x6dYZZ6VBEdIVBDOJ2KdeeOOWJt0xvsnyMd26nVCgokAswt\nxh/onLGu2Yp9mCv3sy10MuGzKs3nKw/r2dUQLwfjG2FkC+JW8scHs9KsxVlR\n9IBSJuMU1fgKIxetkRoYtolTtzn8bFEoPGy5O9Xz7fA/bZHBi2QNklkJdN81\nbmtn7Qgd35+qYt191tWZUrXk2oE/GhmBkyH2rHde74J7JbnTVsiPYIQF6A5b\nh1onijVwhIq00PFTusVPN3QiNuL4dSyZ8vp7c5Le1u/rzYbNZxUGHAGNc2xt\nn+S/+b8FFB5iFs2wXdGVWxhRjCbz/QV+/k6sSB9WfOOf3bg2gRh3jgjmjzsw\n4Nko7aumD3DKxOxS8D3twKUkW1lf17I/RM9kqb4cZ+Tvbs6m8Z3S+9iDuOb6\nlRm/b15jiyHCP0Iv46akX3zIZBw6vri4hRBLoCYJKJz7lWAS3udcPiKtQJr3\nnTYTAITHTFaS0pD2zV446Ab5s8wTVAGVDrxaAYZ9szcjfLBSVAizs1ixWUew\nYcg2ya5SQ8MsuJ4DCgFzqpMIrKJAbRh+n4laPGs6xdtmFFNpBWUCY6sDbezA\nf0ckM7B9ReS1fmyrKujqPwOHh0SvTQHh+Oen3cxbI3zBjMImCaJvSSaGWMhl\nBgJ/\r\n=rkDb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCmek6qKl601eKXTGMbzD5Om2A1U1XOkiT1192OtHUGQIhAKedA/uxNIEA7e+O7OXv9cP+tJESiYkAe4tW2kQQRpUZ"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d6b7248_1590690618899_0.3542846989022099"},"_hasShrinkwrap":false},"0.0.0-4b4f026":{"name":"formio-sfds","version":"0.0.0-4b4f026","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d96feacfa69b2f226ba24685b9a3908df2bc279a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4b4f026","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-P7QBVLasWbi5NQ1Zj1qwcfwMv50mw0TAsuSh16dKttGVsHT5E4O62HjJAjmoY+nUGef9GYiDweIxAJhDuOIrUA==","shasum":"3eea5dd6711f707d01e067617082179dd938af7e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4b4f026.tgz","fileCount":203,"unpackedSize":1170594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0BDNCRA9TVsSAnZWagAAhxgP/2ogtVfR9UVD+rt89Ul6\n1FAbUnwxpgFap7jfbzIWfvYj0NnYMZu8oeuhMHWljZizXwGWiCoXWsYe7xyj\nSzMgHB69PpJWeAIKmcgsii0mZ0IgNVwie5ihfvaJmHgiknGIaK2TJ7mxj6wY\n5KnuZv7cwJwIIFw/HvhOONhjjwhvDWo6xBvOP0ypU4Udjuvp3ZUNRDXAhxh3\nWtoSH1ehSB8qD2sbpvKGFmtWWC2wBDLIVsq1mY5i7W7ef0UWILoZ4vy1keVk\ndNVMzRqzOTpvHEQkO9ahPLtAdJ2XU3qoT32whvCxv1J3RE818MmGQfBgqtfB\n30zKVZf10pL7gYi4oztLQfs6qkC3SzV71uc0WKDZmJNGwVjwLZau3peNdg1r\nr36zoeKcQvIRXh9oGHUnFhfOd1tbwV7C3sOP2sILOTyn1smusOYpotG8Amo1\nR3eigSUErpQMR3w8tqC0GeVJRaOoUJ+PYDGartundUczhZLwSl7Eky6dQn9R\n9h8ieJihr7X0EoN7n1dkhkn5hBN5DlzXFBQS+1OrGrcDfe2gfaHl02sjJWM1\nxVDGSbs2AM0bJCIrri3Wtb2VnyBaB/6Fmunwtd1AkHBFGeKFMmSMMbcLY2Iq\nByz9ioOaI1t0pIJCg6Xhlo0GCF3DZbryFFfoXXXdMpvoMTz/OPVdEsOKB+6x\nAbps\r\n=E51z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGJvDnglAa7DTWS3AQMdcK4xsC0EH29zvvLbd0EMYEpwIhAJPsirk9OvDIzXgthta3xxbC/eY9hM5Fix5WQWRhjdpO"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4b4f026_1590694092186_0.9956007024500073"},"_hasShrinkwrap":false},"0.0.0-7a0bedc":{"name":"formio-sfds","version":"0.0.0-7a0bedc","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"75f096f7170494abeacdf8ab2d0e7c1097d694da","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7a0bedc","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-F9wO9+pSJpQ6iQtqOvCJZgW+w0Xv4MgqD9cNHtVDE70dwcCrzY2/H/i9L3++eV92yVUEsR3mlisk7fr42JGUlw==","shasum":"6c546e605a1f39c6b1b59a5b83cbae2322cb4a96","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7a0bedc.tgz","fileCount":203,"unpackedSize":1171182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0EjlCRA9TVsSAnZWagAA1AQP/1ryrJBeXJEEVNMbltTL\nc8EDf7FgOPaxp4SFzzCRoIPmouQdVslwxoYWDSSwqf62qUtFijVGifHn888z\noyKZFMc2QrhEJiSNCRv4fCyPljnRxH9F6/nMP4nRsgUx7cXAnlXHsZQ55vfK\nrLVK3ZrKF67zFcjxf4A52SMqixuEaTOqYnTR2/v9ASBlKCc0iH8Vk4IUfZxz\nPiPU/vZiqURvPUoLeWa5s8PWS2f6bh2/fXtF+neqcuGK2O5SsauD8HjoEi03\nLbYQ8gq0ZPPsYaxJeFdmn3MEn2tgPxzMzjh4uDEDTDCa3o5e7Wb/7/h/Z2xP\n+HFu7qaXnJxUlMvVPBOPpfOcrPDIe5Q+5AClzO1XmQM2AT58olFwW9tHQW3P\nBRCU392ejdVyPcXN6Wds9/v2xX2hMZs5iJI+MQK1RTDRgtyf2QLVrzoYbsRP\n1SqjcRTz23I02XmMbGLSpioAnBy3k0FsWA3aQ9m0xV9NkiMP2twhYOHYVpF8\nEhZ8nXw+UlC/xmHNq4GgfleUaoI8AWvt2fWdWrB0ekC0QKNjz9afC0FX2let\nGo7mGaTKiKdrTfcVnf2chttcyluE1Oz3dp+875UmxWtUxejkpGqaKk7JtqAB\nR9/Ub4HpYPDG8WrXc1njprP9SEcaI68P7egxdQ3DU71NYL09RNHWr8YrPx0z\nvEgX\r\n=9BlP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnKo8S0atUcPHjjR3ISNrH5ZopLrp9rS2qIAGMd52ptwIgcuwhuJSC6w4q4Of4wJsJkFVtOHmDdBBF0gkaTxQ3rIA="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7a0bedc_1590708452896_0.8003831950073219"},"_hasShrinkwrap":false},"0.0.0-dfdd474":{"name":"formio-sfds","version":"0.0.0-dfdd474","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"0b4355f19f9ee8dd13719b573a1afdb0edc92319","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-dfdd474","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-PjyuFfQ1v5LUg4Lb0CY5V3ysqwd7AtxcJdIHM3J3IPoP5L4Rw5j8xv90nq42S5rsiqF52/wGLWrAZowo1abyBg==","shasum":"128f7a34724aeea44652fdb5cd8e5c09d12701de","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-dfdd474.tgz","fileCount":203,"unpackedSize":1171250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0TlDCRA9TVsSAnZWagAAGu8P/jzVrOTAu7Owb+geIdlZ\nSRKxCRVHgEBUDAqSvBN8E5FS1tpLHOr82TDjaGIMxGaa8fZa5zHr0AFEVL1f\ngf8QqhkXP1NLHaBbk/CMG2JCnDFb6x3nlEoi9HphYB0Zzd5qhOiBNLH4eQMp\ncu4HTywppMlQxwSsIJCGazF/nOUAevjakVvKkHOlGKnuDOyDE4Rf08T/lvfG\n0tkSfRJH9FAxPcRIGgE2vKVxJcyQ0QvYSFH5JEsSJ5lBzSufTLgGr4GPfSgG\nDwRpYB6/Irn4ueTeF0f3p/QTD2d1HLAhe+AWxxGXteOlK86GA+2vE9GeN+Ap\nayMRULcFylLl8y0YBl1iWfTekesOKZI2S00SnyK/gV1GhhuGxr/neuSkoBXz\n0fcfVA94218LbU71ts5b350LfLeKSPX4Jm4dx8m3oM/JRSsAeP0EKFyla8+r\nKuyIj2Va1o+8/b13e8xXLS3HtECuNwIMNUQEELEQc+pgWIGSdHzjec1VS+mi\nCK7XokqwB5up7qf5l67IpAK/IqkEKHpuHrc0c8f5QtqaOclFN5lLKBGLdoMf\nVPLZ7KFA3Tj5mlEc/xX6oLdw6pfLHTT/3u9JIcr6S7gkA+YOUs6CPjmIZYwC\n7gOhlwMzw+NoVt/1joKY+kGQxh9Q2Lff2iM55LihcL7RGEbEU/Dv2mS/4Oqc\nqi4q\r\n=slNv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFZ2GrR07XZhcl3dmcbgOn+BbkgMKckiWwcf7P6Qk4fqAiEArpS2jKS6YxaPEoonu1DbjhqjcVRjo6NJ2KM2RhsyGMw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-dfdd474_1590769987145_0.6394030802364774"},"_hasShrinkwrap":false},"0.0.0-cc3509f":{"name":"formio-sfds","version":"0.0.0-cc3509f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"54afb460b8e1a17edd19eacba174de17f6a70448","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-cc3509f","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-2EqG23+CVffiuASN9nCjUn4D7VfxtuCN3oMOTTO4S4TqGU3U0Prjn7zQhNVZWw0V6YekS8FTEeO2XDAilqQtIg==","shasum":"73062c04905944d4f6d7055d0181976c3bb80220","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-cc3509f.tgz","fileCount":203,"unpackedSize":1174191,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0YCLCRA9TVsSAnZWagAAtF8P/2NQ8b/+954IBTH9WcJt\nhTX9davat1JHnc5hipC+1l7do1l+NPRFzmvODkMN0oGu1W8S2SFnsQcsxnNr\n17WPerhns2WaAVdAoad521cWIyA1JJIyD3c0n5rfkgjMuleWwiZkOqGCQqht\n0RAeTXeuGa/NL6t6r+MzoqQr9gBm8LybcS64UTW9X2vQnz3bkkvfxO3JBzYQ\ndC0ceFczEorTwrW9oLt9N7+NcmGsdO6AGOsVCjumgDBmpu+qrfnvUAqpIGlB\nI0s61Y78wRtwxqnewfpvEKVfSc5kUMZ0n4AmTiMUt7eP34ZM1ojtVINp9lEp\nuh/6dIzBlqVRHErshgVtDhF5wiS6csUHsNzLvYgP5IgTlGPZGysv+CASnMCy\nIjijhp0JpHVbLlOzPxmbddh02KBaX1SIcEeNTw1izT6wbJZHQ/5PAyT8hb1n\nD0uBHxI7sBQ0kMGtCyjbBMHYIIxDC0Rb7ZU6L3HjFaNW+rYYyunS3drtu5c/\nzGhf61N3jF6npxcFbRt0pllDTurVBvAuMDA4wgs3hhC3Eii/vMNFWv5GQvzD\nR6dTivcxjuGvqASyWz7y3RJvtZfHokdXHbiq70e7T7edbrjefrCW8e/nfmWA\nXOlakZBNzuKH3P4RoXVHT9HBPac9LfE5NEFOBqr+rU8BjQ6EplDQOtrJrMc7\nct1p\r\n=xvP+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYk7FL0AhbO1/wNOmn+pKA7FuK6jXI+VkjuA0lZGQHRgIgNZ3t7BsEenyK9If0QkePOyPXzuHFEIgWDhcCkJu4BnQ="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-cc3509f_1590788234689_0.8273363218410934"},"_hasShrinkwrap":false},"0.0.0-47beab3":{"name":"formio-sfds","version":"0.0.0-47beab3","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"df276a3a2b97efbde6650c8a6ec71a2a055f607c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-47beab3","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-u0pjJ6lnSf1KlHGDmsvnNvvQCXm7Eal2Y1owbfNS3iVa0xcmRnfZ4hsqgX0gt5CYAjCZhOyESxpFwITo4CXRGQ==","shasum":"36178edf0d4996004960a098f09f3c257f271559","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-47beab3.tgz","fileCount":203,"unpackedSize":1171250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1T6UCRA9TVsSAnZWagAAG3sQAJegRjMfL/EKgHlcvudf\nVy73BEGSMjhJs9fvNTMJg8WAIAw2zYVINDKh1yAmbbFYIgmfVMj8Q0rHhKWe\nrv2538UHyJboPbqSxnX/XYu971ip+4DqIHE5aOm6MVXl6/ECp+sx8g1pnH+X\nUk0VQnrD/ogcBhfWM/JANsJ94DwmPNg3oHYBgbujXvl+t80Tr828kn/GTAK3\nCv+3udtSFUOo6goAnnIVnOLddnRIhorli6S/77JQ4GIEDu0KJEFY+1zqXbH7\nDzcZNLxmw5ahxT/qgTxU4UGBjzx8kZaL2AD8JtVSst8T8gTyM2E1DdFw/2iw\nAEGQHGX74HrYNnKZPFf3tpSTWrlJjtPri7tKyso2f0a3mgf4QqULC9JIjCvu\nuCUkoCOVjxrkUyEM0Qk3Md0t3GMeT5KCfoTvikCBp81ZtDbLLb9ESXdvf6zA\nS+87KuXNQvWR6j4FNf2iMYx68M3CJPCynjbFfzS1WhU9wodql7cuKV2kVMGC\n50TRBPTKVt9xLCWV8vqqFOeP4vsgJVeh0a/acDhUxLtay31XaFndu3I8/mMZ\nMEiYHvfcuDWUB+1mZw9CVRF8cfDja25LjezGuLkfg/HgTO4ppkugg8jzv8d4\ntSdwd5J0U1iPE4w7YEiwe5QgME1aGijUHAC8sEACqd1+lhSKT0Sm/ogF3kX0\nLwrT\r\n=VUDR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID5tJEzpS7L17ABQIPvehuEqKfmIHeW3qv5kKDrGmShvAiBaIAUYQQuAkcqzpTimgc0/ORj2Eb4XbttZlzhsuSV1rw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-47beab3_1591033491616_0.9158158086440011"},"_hasShrinkwrap":false},"0.0.0-3115e22":{"name":"formio-sfds","version":"0.0.0-3115e22","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"2f4696b3f72d71a8bd543fea7c8f674a8c390a13","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3115e22","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Tsto1skSqXx33b9z8cUpi3MUw2A2hnsAHkJUA84MJSUP2xymDGtBgUu3qJwXaAgBMbaNR7qemsZKwX/sY0VnjA==","shasum":"ccfc152d5987eabc57d7fa67074a183a7f6cae87","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3115e22.tgz","fileCount":208,"unpackedSize":1540580,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1YgqCRA9TVsSAnZWagAAr/AP/1ggdzI+vf5Epque8v4z\nrWwj4D5dVQGgyf5Wx/znTh6DG/9Ie5Q4hzONHPY/jC2qFc5MR6r4oiRBvhsP\nErQjQJl/OxdlIY7R0SA1/7HY8Qr7bEWIHXR63BdeoCw6vjpBj/OEA+8jenaV\nmYMNFmKzX12hpMDPy0zM6xG07u3SAiP7jVufwJa3VHOAIdDPq7ISBNh8BbkR\nYZFKxdgFEhV66Pbvvm4p9vWpvOvlOMxAacVtNKQjokcl8eDBwa082tCIt3e3\nXYTNLylfXJcoqQ6Nh4ZoSt+8sDw2nr/X0wdehmx9wgsPRlWDaapVGcsqWkYU\nGTuR5efoEqA/nKt6+Tr3Wf2OobMxz4COxmSjKjv2L0iis5UNuHMSQp9sJT5E\nAlUQP2jx9SrJbcM8GNrdKzi9K9NjFptFAy1BJl+5zYyuP+PhJMgTwxxDx0v/\n8b7AuJSq3LAR0ci+30PrnsWzxlmEJYoimm1voNXWNW8wwxJ5CzXRRVfDNQIW\n115/s08aZwhx4Osbq75h6uozaj4a0rzfc46br/nXy+tr/Q2vJ5P/dmuQamgG\n/EMkJvYY6Q/5wAUKzFaF91EMCI0qHBLWeDYkJrQttQ2vFzWJ15MVJ1is8ulL\nux5FElhgvp2OpDUzA8E5J0EBTJ2huVOeKokFgtWsL5kHLVB7/3M6Paa0grfK\nW4yl\r\n=W32x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC2cvZiukiPI7sydCHlAyVvKLj9OupmoMi7CuR0YKgiGAiAJ/zYUXrszlVWQaDWRgqOjw/4ToJP8W5HBxskkcozC6w=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3115e22_1591052330271_0.5304299311667604"},"_hasShrinkwrap":false},"0.0.0-ed51d4f":{"name":"formio-sfds","version":"0.0.0-ed51d4f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"5d6304e8b30956b5ebff8b8e8b61a09fe8c22dc0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ed51d4f","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-4b0ziKLL86VOW4Fm6zxGIYOpAeLFNtJXLUHPtqR5Bz8j7pa71eegu6BN+DB59CtUk8eRo5pa8rC152BZQBTUbg==","shasum":"4594ca526daa184ab43d986ee0108300ae22bbec","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ed51d4f.tgz","fileCount":203,"unpackedSize":1174847,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1nsrCRA9TVsSAnZWagAAWmUQAJL/QZ0/eIYZdpkM0mGE\nMwFPBTFUOW3Sf7R5xhUm5U/8ul5+ZpJOrTBMOSdxSJmrKXOslsGqYJF1Ipzl\n0VLXSR9L/MVBVSVZM/moNwGSCDKo/K58Itiqd1hYbjPVYrfQzQ//RBAUEvFP\nQ+z2fukgaZZBCaruRia/KExTyjRhARfCcD46JZfdPYw7C/do8ChLZ4IRIAHj\nVL0TeMQpVJ4Zncy2qtU4cKZJXZ5oeWH5JayeAl0RXfMsPDSstHs56ezYUGKE\nOnFptiwPvUJT8YcbCt3Xb2lBeY/qf7v/s4PMfyZVuqnkQokX86//q2jz/abg\nRG8JZMGTJ9kIZwDY7kDCzQYVe/6ymI6DzGUQR0fl7GgRsuxmzkCWZhPzMSWa\nN6lbB16vokDkQgjuoc9ykcRnlHhoEDWYsgwniOzzvzhVhXBg6WtUU0ZEauHl\nLnt+JOwuGy/oaTzfLQRj/GolmWQkrq27y9ClhY5ViAJz5PBO4UIyakQyn2g7\nPgy1sOybeWTdsKzkrLGAOdUkADOdgrKZeVJu5XgeFOYRCgoQLGgQQc2F62F7\nQRQsEZ2zdZQKF0JA/zo73H9veksVSpqpro5XVJ++y2IMSNL71CEKZh9oDmvn\ns/dV2I1GyaPS+znsVoLQKOP35mbnRCZrwqhwxVZZbG+8l0fQ9Q58wSJZwVT9\nYsJj\r\n=KGTF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdf6oxBUCe+e1ExK6Kj5Rwmi/g1S53HerQxzj3s0GnXwIgJbtcYvEeJxRQsAMaj6Oc59GqJy+iOHtEmEcPF2O0u1E="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ed51d4f_1591114538680_0.22243914163463696"},"_hasShrinkwrap":false},"0.0.0-59c5e01":{"name":"formio-sfds","version":"0.0.0-59c5e01","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"9afb90799f2d7fcf58c5d1b9158c3d286f9b6979","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-59c5e01","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-VMKPxJndlh49R9NuV9DgCp7kqSWrLifloJJz51MteGfp9wWaeOYY2G+lUoHtErQjFwDWmnrUEpP113Q1KS4eCw==","shasum":"569fccbfb883e0d200a1201f9c22c1e33deb863f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-59c5e01.tgz","fileCount":203,"unpackedSize":1175410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1oZSCRA9TVsSAnZWagAAdhEP/11Pck3RuHo/lHpt88HE\nPwKT1+X91tlOrivpeP4h/2veI8YuLWNa2HrNF0X87cIM/OALQLFZAw5/cIUp\nAdnMf31Ad3x+r241t6VAP2ZDGLYK7AAvlHVmSo+WxD9JyHPZ+d6JjopWSZu1\n9uwCR9dHrPsLWptCriNlnGtxcCkJ9ecO5sFnXmFKdRD0ZQsp/jgj5CofPgje\n4QEpgpZ9fKRQubiPwoFcJvlAQc95Jh/BLJiCoGNQXx/mhlCdVScL1IrlgrXq\n6vKdeKwua/SliY5YsOBEBBXXSmj3zZrpq9Hh2pzDSLxMMeAZu2PgooMI2EXH\nCLe9/mJKHKWI5QFVVy5qT9npVaAF+Jq8K5pMAgwF7m2or0tAzEaZKGlO3Tc9\nbbU798OAoYoZARji0MN0AvkLUrJqkf4CL+gamS9ZCGk3GAbdhjoWeW4IFGG0\n5hwLLVxdXrl91CtCsPtlfp56lc5ZFBk5L1C1ZF0qzpU/un14eRRtOfqglkO2\nGkUg6E+aIc7viOiWC8EvGR3lMPWyMHc9Co0tQHpxqkJEGBhb5NZ9z9onNOsb\nZXgmmRQpeUn4o+25fDprBjeCiF6bWOGSx19zQSRtRoCDjEVimEy6Vx5T/DA1\nanzyxkok+bXr7kNop7Pt5Cma2MKW8PFDM8hsLcaHencOB34cIAqa/96Tbhmj\nw4bA\r\n=HauZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDCOLffXHDim7+vxDxIv43ZsrsS3KgNMQl71vMJ4YaFeAiAlVoHraHkkqOCWh7rHtO1tbuAPPIIU32Wd8WqdPYAcFg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-59c5e01_1591117394099_0.2431727956431513"},"_hasShrinkwrap":false},"0.0.0-3166e1f":{"name":"formio-sfds","version":"0.0.0-3166e1f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"372cbbcae44df579e58e691db85e93bf136231e3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3166e1f","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-0iY3HZZtWL4X97948zh9JMZ6xDzAFlHGB2bqExbXXoY90O3cJGG5Xsvdu+aeXZHKQ6gtgs3M9Vp2qajy8rm2OQ==","shasum":"e210c6b6878aa7befd84370f3251b40b076114f5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3166e1f.tgz","fileCount":205,"unpackedSize":1216368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1uDkCRA9TVsSAnZWagAAI2gQAIvMD2S4ZWewMXxM4j8w\nKMSBGTlF0z5M/e0vuNMxcxME2K0C1ljzlkco2H27TJiJIR/oaieM72dW/P9r\ns8kWjt4mM24vzqIu1/guH5cO4GECWakgL2M4gicG8nPiesiKMhC1p5sy9Ots\nAgwVaJQ0j7ZRorF+IFVnYATj9ttiQpHEmc6QZeBGfrkN2+dMl+Fvt1BDpkPi\nM58fy2pot7ulWDvOg2ZrMyLf/iU0TtCJqXdsTsvqQA2I0OwuNflP+ZyOwCc5\njxSJ3mLZZuHbl6ECcP39v7K/VSt30AmkOkuvLFqwMH9AofLEsPhvJOtRAnPv\nWxp8t0Ba20GiP/OpnEsaKKOdH7nkpNMTGFQ9MKb815f4A/vlQo1RyeEWHr0V\niWaau76H71vmgtKgQrDfjMTelhC3t0wE3tzMe6KfoPsxgX0yGH0eWWsxKkDW\naAb1j0VraNpJ6kTq1QI0nrThNiaBK9087sV7w4RPlRjzznSwfWEV8MFIhkDL\nw/9QkfUg8O9j3zQx7kl0RPIEEnqQqyChQTdfsCuhRpYuXgoBwwnCaByMXNxw\nWiSt0YFrDFtrHlLRS/CkDoXQ8ZEnseB+BWKcivaLYWG42WvLVmKm2g/c25Wv\ngrIBYSEhMcQlDRTEj6ku/j60yEcR/HFgkI7P09DHPZt5CETIidLsyF8D+EUp\nCDXk\r\n=t88r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICycWvusnbGFAq0s+A3bQIjHJMkgD04Ub1BsN9/Qck/qAiBOP8R8VVXs39ey5Q7T3RD91quH862ILySfh2+BQRIzXA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3166e1f_1591140580029_0.19228627703268075"},"_hasShrinkwrap":false},"0.0.0-e35ac7b":{"name":"formio-sfds","version":"0.0.0-e35ac7b","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"c10d91fad95326b2ff6a2be97c94ec83265b2567","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e35ac7b","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-BsrvVUk/vwjQjxt19WlBxb5XlFWCS8wt0bbxWL2FskI+ycpSH+UJ/fDKIeB2yJw573YEoeGz2oMWlH4ggT+o4Q==","shasum":"1b15cdd4550ec3d7f5e75bc316aa07c1f34b26ab","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e35ac7b.tgz","fileCount":203,"unpackedSize":1175501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe18exCRA9TVsSAnZWagAA8koP/jOH4V3Em/bSijGiPl4S\nCcN/OzmlfsgsaijKo+5aank76ocowhCSYtgQe2LypHTKiU+LeVQ1aUrRNCRW\n/Wyt6tv1ZUPkYZ3IfhzdJBHV9sRtL4BTSEi2MqbOgSOTeRoVZUxkeU5BaBL4\nXQS7F75/T1ER0FyFEdZF32h21/sSjLiZVhI2gCMzLK9gtLXDZR7KH3jUnhf+\nIu46Q37eyqfQatLDp4X1JTJZjlmyuPaaZZViZM1YVIm4oROMFEQPEmp2uGaI\nGs4cwgm7VaiSS0sLrXFUS+GhlUzHaiDU+JfTMOSUPMuV44MziT09MUMD/R4U\nh6CRXc+dgxk8MOWNNg3J2Vy3T5be1ry92IqQroDEBLKUsBURNMKtMxD96yQu\nIpsVDl2IdFZsc89IaYpelBd8XAmF1Fd9+zwtn1Pu4IHBbVX3KMxGDaIDR1+b\n+O98rO3dD8d7txMOerkrjamXNYIJ84BA14aFCLnWi69eaIx42ON3PzmHMW1g\nb/gMbynh212P2TRXCCGQIU5Q4ivMdxLXracm72+5tbNXjYqpmmBHQy3uVJdU\nQzaVGnkRS/zBke2DBDn6B+bJ7bUOKMAreu9i/+iylkC3m0leAr8/+/sREcSE\nHJoe+7S0tkOsM/QJ3Kn7K4R7TkaWfTsUpoirE7DgqlkUYxL7TW52HPryBlJ9\nR4R2\r\n=YXnt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1/zgxJ7O3OEHhYpjNsBEdulAjduDeY9HxVptQqccpKgIgHkoFzCcPCJu+FMiDGM4CTs2nKRZ9AyRSKynUXD6h5wI="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e35ac7b_1591199665083_0.21398715808632995"},"_hasShrinkwrap":false},"0.0.0-09ddded":{"name":"formio-sfds","version":"0.0.0-09ddded","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"3090a8a4f825b1f75aa7ac588b1e8749744e4b25","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-09ddded","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-nGyE/BT4bji56CAjvjtMA4CwwN8iUjgkgEnh3wphG6x4t75t9S0NBGem04cey3nzjtTvNkUbQQyyWBEr59Loog==","shasum":"978772244092f6ba56b036d1d7327f681afcc1db","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-09ddded.tgz","fileCount":203,"unpackedSize":1175473,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1+TwCRA9TVsSAnZWagAA0cUP/2PrvluCSj/tBcm+oGg6\nohT0jUDbeCJdlCIAH70ZDvbzAXePGYPiVh4xgWQh+0C+cMgPNVUbo9o+xqxP\nt+pha3c93kGMAQO6u6fs+whRos9R4w9HYxg5bF1yeLDdMT5jsU5v2kZYoqTR\nmMTDlRgFe9Vscddc8L79wedt00jrNHPx5P8RhDwUdfFMzTWI8Y82xZuycRUL\nXpzXhRvk19cn7IrrDFFMQw4/Qgi8+qZdrnXo3V70DKexcDR+JnpxENAAyrGe\nFEtGYSfkJNJ2W4R1evG1YkJoVcTetWGtGFJf2YBp8fuO+XIhXGdB12qIvFfj\ngv73Ogw5RZgdSWks7Xz+p2EqgvQK/NYp1tBBiwT59AT1dkUU62/P4ZV3K65t\nTykN3KQ/JeSI898dU9ZYTbh5M6DGArndUxIx5b1n8TfomP7rXZ5YlacYmDFm\nDDXy9CaCO0UxgXt2WsyY0C+cYN6ty5+vzxzSVjxUXr7Z8SJFRtkPY5ADyJs5\ngOVg0JMXpVvrcsmV25jCXlODW8BZuUuvkhGUtfjInLtXGJRdCUJXm/adw/nk\n0fwPoEFaHFeVa4RWcss0be8awgZXBu3LRIC1JiMKxeJvk2+vdBBUjpD6HOuy\nIg3/CMug4Ajl9WVvoNFs8QtRHtuT/yXLy/mbQ9Q8dZbE/EHdiYNJ1M6vcfo1\ngxBK\r\n=yKQp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGeGkvAOi93+j8O09iQeB/dfQ2/+rfrO1ZE60iogwII1AiEAkyg33xpL9ubbZoxthckD9LAMOCZRTQ3vec/j50EXSCg="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-09ddded_1591207152252_0.502232668037345"},"_hasShrinkwrap":false},"0.0.0-0fa1a2c":{"name":"formio-sfds","version":"0.0.0-0fa1a2c","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a03141e7f6e70b7967019c4b00598e4da5b39a9d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0fa1a2c","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-RZ2kuzvSS+9Nl/Zug4OFPUDCtxN4LRlgrIZjF+1jURC8fbM+7ZgkeSJ45XTfpVF4FBSbRfrQ+xSCRTA8bRjT/g==","shasum":"25be456406b8dcb11a0344cc27336321cc3cf843","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0fa1a2c.tgz","fileCount":203,"unpackedSize":1175985,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1+4/CRA9TVsSAnZWagAAeXEP+gKYpXX6lt376c7xoSEE\nKCc05e1tPlq0c85F6WR5vRpVaJbxrGWI2OdEuoHk6Ha884Y3Fv+6Coo3WqxQ\n0h/gh623i9to+Ije5+0OnEcBKRzlWPptKNBsRRM6BXOh0jbYWI6rgfKqR15y\nnys2rthjHkbuzp0XYjigOshN3MRNcqAFgw/OBc8hny1sHmOJqb76yZ2FWhtt\nR4cX4TYO4lLzXC+J07awuBC/84NUTN6bV2YHQSQMaHZGpYJYbo9WYJ8ykC+2\n6iEUPA9YY3Ht4WO2a89h1TSUdPdeKLe++uya9JKHrP4GJuryw3ty0lZqQYHb\nJR9aSF4Fh81MjEWZ7c6PWy/AoC57o0zpoyHR4IpnS90tJ7AItA2beNfGjEDb\nxPyWydXTRnxNt3esBSVp0Gp3d3vMfzO5I/AbHbrq80Z0IOUUtbGpamZc9ybz\n+sM8gvNzJBt3o7yUR1ww9er+WjLm3AoK0W5EQ+UiSZWruKw5KRYuXRjBWwD5\nyHFJ+7+cpYiKUAn2uTFZnuZZKMLiUOenof1ptaiPWJtXuEF9fv691d6updzJ\n2gG0rnq9SLLliu7gqy45T1ENuMikmH2s+irgwt841H86/9RYt9WytHiPknwD\nqTTguaryzlTtLHMbyqvEPPOIdDQ4HP17aGJ21pqsGjJTuY5Ktw/ZM36HVBJA\nXSN8\r\n=JfaB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGdDWqWjcgJRAr2cf7TUroKdhrdHkx4u5IS8NDUIOHWsAiBohcxytUmZ1tLBTdn0EmFakdWHXSMuj2NAJ7S6xu8BuQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0fa1a2c_1591209534394_0.2859532901073001"},"_hasShrinkwrap":false},"0.0.0-bb3cbdf":{"name":"formio-sfds","version":"0.0.0-bb3cbdf","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"c47fb5cb1c4a5e6406849575e43c7885522bd508","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-bb3cbdf","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-teaXB1uum8PPs3H8b1PfGBrFlEerRGTSnFdL3lwll2u/6eqinlNs5hyAOXS/tWhNhU1q/p2cK+Jk/T8zDunwhA==","shasum":"b6be7703780acf2e0d4e45e191b7cb68d596fd48","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-bb3cbdf.tgz","fileCount":203,"unpackedSize":1176048,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1//xCRA9TVsSAnZWagAAd/sP/2OetkfB4ecI/+mmDtpB\nDcItdNBu0mhaUNRaqvb1t25x1+ZROiV0tPwnhmStrv5/0fPD3UGKXExISupD\nl0yV5eq9t5J+KBAIUpxZ400Ta71zIAWIhSCD+zzIai8nyRlVeJt1zTgN46SZ\nQPd3RHPVq1x/BOlMfNFqCxAQhOXMgXEyFUOaThwMHTznsCnJUq0MXvb6yLcN\nukoEZ2PK/7oSjVx7dibZErRayKu5JcLmZCWT4g7JPPqwoTfiU1WBDuq+rdym\n0sxi3IUTqoJUTihC2k9U04kegyHp1RDjwr0rC0ryMOqgBk5nsNS/+WYvW8hz\nRFwWtTico8jh0e2BEEYZhaa/RtNyTugM4z2rEyQ1ZIYAHMb9zKO73Is2W+lP\nu8jC7M7HVNz70BW4Bea2ApOfY+85OGyTqWgxKT/vBwfo/4W8MJrfxbIba15W\nfVj/M+/19dh23+yGforqf9VqJD18NMCSxeVmTIhVJF0l3+OB77pBWoMdFNjG\nug8Tuwl/Kh0O9TpUhKkgoFXbpjLElqQDvutXeNIrI691e3Zx4JOg1LEX4aFW\n5wh2x28dFLEnH0J1NRknm9kj1YrDuSYnDBk4yV4T/14wIqIGJKJnfb3pv6Or\neWopnZcYh3cPA4loH2x/d8DCIk/oJLlEfBElyJdc1DplQPZd8hA3tshKaz/v\nUv/y\r\n=SIvN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGPKAY1Ds0PSVp0+D8QLG/AdG754ggM1582Hvp7ZFDzKAiAEgLP0q8SSIws0ZSVDJJ4YYXPmoWUefyI7+KA0epeEzA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-bb3cbdf_1591214065423_0.8984877744148483"},"_hasShrinkwrap":false},"0.0.0-53c7fea":{"name":"formio-sfds","version":"0.0.0-53c7fea","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b1a770b27dc33ad300ce84a980e28f938b54953f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-53c7fea","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-14oZE26tiQN/KwtFEmZgHxzisqNPdbOY3BtQG3DpAZAvxZlgfXR/lWZOId43rnJLSysEsMzZ6KTXDKL+a3IEZQ==","shasum":"2c15130f9fc9c0fac84b6c67e0e0291586fcd05e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-53c7fea.tgz","fileCount":203,"unpackedSize":1176201,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2ARICRA9TVsSAnZWagAAclIP/2jxjTQidI4XLDNHvybD\npHCirwJJ1BnnoqaFy44okH+BCgg3rQk/QpShCX4fVfpNKntMHT0NJ9lB/7AG\nG6wYuXr/3CL+yKk9XyTTvAr5HWbYy7aZJr7ipejM2IVcmi12rZAGlyZDyNt0\nPUVeweENilV514Y9zV/SPHs8Av1WlgX4Izjnp6ayS8T2smPRS/s0uoX4ZNze\nWK48BKfIWo+TVA3ob4+YlmRu2sdOzRgBauRVOhJ0DRM0JewyY2Rj+vWnEXJn\nMiVVd7dwvAjjgUY9ug2pYSPVlCSfu9A0ca+jQCbYZjnG7z0Avs1YyOQtJGex\nuPCvWbzW1JIpjmTv8GeMGIXcNkIv6/5BbHJlt+zM+rgOLSdVnMAhyMeMkjCg\nK3OgWDt9kkmxGLPsgANayHOH/ZDN2Wvnegqs56X+UuGPAdMvYLkJYyQNZ4My\nwX8XNcfwJJ3UehZLYPlPyi6fSMf6O+bKbmBJuugwZpwosyKfJwMdzPiHqqGd\ndpC6BALyvKZvMtjUwkgpG0vwAPYIwhyACj9Dw2KF7stBrwafoZOm+joDABa7\nm/mlS/lPdUuBZ1rcR3y3T10Uv2vR2kTYZR7xOxpU0usuleQ8i+g+bp+I9x80\nfsZZVhIsPglB8yMcViDhdCEtbgIUnDMS07I845aUUrTrDIUr8yBlBnq9Y7IS\ngPNA\r\n=BURn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXXKpnITXcg2NLKElg38h/mz65fBAd3q7z0GxQP+SujAIhAJeJF0wIalTPdGFHcV0vBjCucObftlHaLxgIUs+T6svL"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-53c7fea_1591215175835_0.6860874348691255"},"_hasShrinkwrap":false},"5.0.0-rc.77c3ade":{"name":"formio-sfds","version":"5.0.0-rc.77c3ade","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"61ea2e7659bcde693eef2a37091687f444cd9a0b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.0-rc.77c3ade","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-72qg0yExDi7z4CTtLE88hnHS0uGTMay5ixlpuhRAdtvNrNF4E4wdLhSxW7UZJfCKfekb+MhOMFt5lBvigylG+g==","shasum":"7ceb2cc5e5179a406dc67c2a0ef84da7ceff2ddc","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.0-rc.77c3ade.tgz","fileCount":205,"unpackedSize":1216371,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2DG2CRA9TVsSAnZWagAAucMQAJ2tTBFGpD2ncLI3biM7\nlvg7fhhlNEpA0M3AljvKIz9aXuqS5VY8hfTvIWQtPBtcQKYfC7tfps7vSf8H\nrTmWG902W+6lYSrtGTcnJKj3H0m27WDF9kstC8vTrQ5oDE8E1E79FkBYp5ui\nctnYswLQJBZ67Yv/9AcjCKqI/bWIk0fmCDtzfA7Y7YcBFWoLRmiq8c+V6wVZ\nojvV0bUZmHS4PjN5uxtf/7cl4X7Xq4KbS/YAyFhXlrqKPUHkGb5oyeCsuqfk\nvwrO6WpVGSZjdDh+sUfnlL9LgljbqVr5bbLHqj5wMR0xG4NSWah6uJTNvSTU\ntn9+AiNEi0JwzZnBW4S2q0ms3QXdt9zD2whbbNds4ts6p/EsKl1qEOqF0SW7\npBDPAeSfYztA2XCenIX9UCbOeeMZIwJVw710QgIJkD065fk5wHBcLd3OlyAm\nL9tgyMDYuiVOlv2ogG02M4sDaFViBS76TcOSiq0glBhDvYH/de+DLXEaBq3X\nyydWK9hVX3oksIWVsFfDQ63uXqUEfl0JBlXxOjaGyodRMVzN8Mf++yskGNiI\nOoZQZGjRVnbbSxoRMWwDrwh+mGVkwnKxUzOKd2P2HKEGidNy9kfJXfP/6Ufw\noSa0SZhqMB9HtRLQ5fjJ3ldsm0/Sxaun0YHSqvgX5yaVGtKyHGQMuGantudE\ncb/w\r\n=FOvi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWLPNwIcetMLrngx+sXbcWbv8uehjO2symdmLj7ehV0gIhAIl1x+0dysNa7jBZDqa4z13PX7GdVsvpFDxc6thOtjle"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.0-rc.77c3ade_1591226806132_0.3261467811550618"},"_hasShrinkwrap":false},"0.0.0-66b5134":{"name":"formio-sfds","version":"0.0.0-66b5134","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"166446e59c7d6b1fc2d62adff330125fc591cd70","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-66b5134","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Vny3Z5qWif6iGnLmYtuWamupuG47KIz7mfbpumFgxl3XeLST7fGMs0SKfCIUex2rZqLZZlpUBqPLOH/kchSC5w==","shasum":"99800eeba8c9d2d50e8608df53048e5d3af433b2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-66b5134.tgz","fileCount":209,"unpackedSize":1334434,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2KL3CRA9TVsSAnZWagAApSwP/Rs7nrOJW6L9IkC3R3xL\nqKrnGUzIVSn3U4aeyWGF95AUr9lZMO2klNn8BeXJQ2r38DDaaG+IOsjvwiwE\ntxpeLpXvggY7txRF9uHHCz+PjfUE89THbtDs0yfQOy5VZ0D2IAenNRlOPcH7\nyiwwBgmeCqAlkqAopi30w2HtMXlWX9jZ8Tm/GCxW+Ue3ptshGFODruLMzf9f\nwEqkUwQJ/51wKKp6ILfpOWSDFphRLVyxNFyRQwbVfYicFdYJNPLs1Wp/vzcx\nsQybuUm3lhVbi03X8p2mG0ek///ToMkfP1mFjvFzZv4+NdcruzeEA25Wqef4\nyu1s3BHUcujayJ/I8YjHXo0ztqtZrbZVSFjpbcDHsKbHGWoUCpkb7DzZ4vle\n8jjDBjjBmbmmPeYZVfe/I4N2S7uUt1jUuWbIhkc4Mpb4tJqI8EsaVPlY7dwG\nyDVh1JulLWIcwfPEcJRgZbF0uDeE10qt/joL6y18iLtjX5nXi9YbdY0x5Ly/\nggS7WxuPE6RXlu3tTrl8WzfYQcjjROukD1ENc9eXp2UaARPI0goUVXAurDVO\ncATDVPxfSSMuD59CwQE+UEI53lbeu2ny7y41crNPnyLWqyXGcoWSb3EMGsD7\niSBFRVLDG+jyeM68oZqNw3anXEtRq9mShUknjerz69l5xhNsO6EMrkxeKD1E\nkkLy\r\n=CBcs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCE2NM41HK6bkmzJId0sxIimXp2BfOKB1mNrOXsKXOFMwIhAPDrcjGhj6KZxnn55GG2yBKXsAiT4xGteigUEKeHiChj"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-66b5134_1591255799423_0.25421317073582017"},"_hasShrinkwrap":false},"0.0.0-833488e":{"name":"formio-sfds","version":"0.0.0-833488e","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"69af48aec8e0c4406fe1138c7e99675e3fcaec69","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-833488e","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-CUrAQBLHfv5BbIaSdbtnnqJCOVFsefRl+OC5Z224d4+WZjNtr+sAiGBO8RIXCyZX6OQzkmyqW2/E5XhXgt/7Qg==","shasum":"31d5f0b56b53965e3f8475c871a3da3e8b0b4d56","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-833488e.tgz","fileCount":209,"unpackedSize":1334630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2S1rCRA9TVsSAnZWagAAW5IQAJ9RSuLbAG9rogHVP2Qo\npamfo7EGNnKCR6Fa170PYOvulNom8SpNgbXH7Re5UnbHdEHM6q/DAmD483nQ\no4T0FV9MqVgqhDg8nc/q4BX58Ivfh3a+DJFmiVhEgY8X9AFu2HCMqRTZo52W\nfRb2F79IbJDbxAsIWjw0i/gdvrsbhno+LuL1eHDFS+cbcxVd+lE/pAoKFUHC\nd5nO+q7AMEV2mZ4n/0KIQR9Qsq6nxJAExU0rJkLmY+tSIKhipBqN9LIbFtoH\nFHFQSKe+TCQ4VudXnOv+6LTxxMcOJqTliLCjhb+4RBRvE98ItIuL+8f5XCe7\nATbA7L/DVA07oUM0Q46yFs3PTEWV7PO+DaXOPlzyR1+C+W3xBnGrZA4q+W5S\nr/XlFLqjT+eYZ9CVpT8nbW5hwQJzSEk7hqvM95+xPJNyHL8UjjpSDhcvIHdn\neADYMz7kTFzIeLwUu6hRWA1K5XClU2bEalZg4pEBTSDX6zAoKNKTfL0W0fja\n/2A/FLbODp9PTVPwQdMYBgbbetJM3FA4PPGMUMOSqVcd1m+knJYEVoGFPRsn\nnoGzdwK4+F/rKkt0T2Fbi5SklUsVARAPj8slXKI5y/ryFwLWL4gdkTgWwhiP\nuMw1Us4g8I5ocx2aKkC8dnzE/4rp1NBDy8kFZoZaEddTcRFGo0VngBubOm8T\nFSbk\r\n=5TOw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFo+CrBJeBRKuZr3qF9ftelq7hoGoP0PUn8MD2VmHzU0AiEA+RGiD7i36Hfs+1OjjIADdKkQVsRgyX5749wLvgLR2d8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-833488e_1591291242565_0.8480051038030691"},"_hasShrinkwrap":false},"0.0.0-5c5ba34":{"name":"formio-sfds","version":"0.0.0-5c5ba34","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"6d19150f262fa8a95c04c8a6e50a36f44755fb5f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5c5ba34","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-DT9LMusMO7jvJLTDP1rv794jQf0FxsBdiaNIyeUbLEQ+pgD3FBShcCGaGkqBsH65m2PuonI9zgdSh0IXgH4P1g==","shasum":"bd6cc873e9aefd953c3a913fbf361573ded4dbe9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5c5ba34.tgz","fileCount":209,"unpackedSize":1334681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2S8sCRA9TVsSAnZWagAAOBkP+wdtntEGsI1DHEa0TvDN\nosl8ut2SOr/tccUOqMc0v5gTtMBEVMoDDo1kisnPTZcgBftXhNCb3craqk2r\nr82U6XQDqZg2huaFUumX43/jUyAz97aINYNG5rahonzt2AQHRpYYl2yIIqqB\nsvMGiXeYDLT4I8BDD8nsDG6XlqvaqTh4dyRZ9apgOBNBlQjwz9ocqf7bgi5U\nWwWAjmT6uEq6izvxFwtSkEQ2/Ek1JOH64uMahOhSeAV3Tthe0jwiI9Iudai2\n7oA/N5HlWAWRuuhNJh52WKgcBEZk+4sIyWas2oa10b1HhL5zgPcO07jbcwyV\n6ZGNvXnJWQ2igv+Q8W8eHV+VxOxPVxXvzNA5EeD3Hy9H9+zDCZIFj9qjhJsb\n2hX+8869kME6801f/1828pwG88/Sii5OtcHw2SiatzmQzBVmQCo6UnTpkLJ3\nSiUITtA2qCZDVHFWZ55djhH0vpB3lmVG0BffAL1mqsmA7ULvwGa3fujQnESn\nLzeW+q4ElSpc4RnKqc2jd+n3XVyEDlDeSQYrFFmdDnTO1S0wInFIMhHOYtpM\nl2zNP7GUGQbTojONWsT16S2kGV764eU9e8GKpdsJvXZrYYptyT+ABmbPik6f\nipz+pZPPU80cZrSkTCRpz8cDfeDxoiqn49cliEQaE+S3KGQ0nRmoVmJIFvhl\nNfvo\r\n=eT4F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG+F2MfDnhtMbPm9ertvgOuiIicDvpLixkctneopkKiUAiEAvsjngydi0TGWaBgvD3G3gLwy44rxT3/CrLvcd3rkZnA="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5c5ba34_1591291692191_0.09622743765048258"},"_hasShrinkwrap":false},"0.0.0-5842e30":{"name":"formio-sfds","version":"0.0.0-5842e30","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"6a5ebe8efd45ca930337215538d23aec087eae02","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5842e30","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-az/EObXWP8cP0ZnRYScoin8sZzIIVuzKeI5pN2KmndqWTYg9Bm2M3RBzXHWXB/wFFsZ5dkMl1SSfloG67Q9ELQ==","shasum":"d95ede049d787194c718af993ec5671e45c983cf","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5842e30.tgz","fileCount":209,"unpackedSize":1339420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2TOPCRA9TVsSAnZWagAAEnIP/1fenEYzSnMsVsqT/Ii4\nA0CbjnK0W50SY4XVcTNQAYPw0FchVckAODmiehyq03frqI4XFJYYx0XEnMju\nxLRLt99A1evPrjHdgy25UObrprqfnoQahemqhxYUB+KE1gx/LZuapmyEBVTD\nc5Z1tRzlAS8C4i21dx6WBlTaGUGtBJzAYe4zUDa1WI04D4R40VAjwFFMXhQy\n0wcfsC/sdgi0u1Le+6mO28u8iMpLBYW/M5ONcmUUPJi1psVfcfwgjjpr7yyH\nqb/rcDQSURmcIR+DMNl0D+xpot/IP/tnsb72k3elNQrhOMp5MSZlGnuTNpHz\nAlqMOwuWf+7rsu4s7ElEKnmg92rJpsFxwW3mUKASJYVaJuhyVVx4KQfTYKlE\nwwNsXK1+U+0PdH5qWGsPE0f6SQvxlTfg7e52rC39txmO1txbhpl/tmOS0aUr\nnYlOcckWiMizRt8SCKcK5nhFfFV8jvOTaZez0m6EiLypCszKaOUKsFQkbiR6\nyElrPlAiNPczuryyAGUzBovWJiwuPCEnCibUTo4P7kluECSOZ4BeXPX1ysY4\n+gmoM3T0m9Gtx6v+D5aF+bCQ+y3o9yhqxJuqm6d+K4QWPMMTpI/2+ydG9oD1\nhMZ5Xhn3Mp2BOWpcHoy5X5SBzVRvbzCmEL1K3KzrVxLXlz7+lPoOYKapQggn\nasZH\r\n=Eyd9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuFPqlUgqqBfwrIHSrHB/Fd4CWlGLMITHXNdWHFeo4VwIhALelCa/rl3qB83nLj5fr/FeLg40kUcqAmU4Ho795FHKT"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5842e30_1591292814826_0.5184105925032392"},"_hasShrinkwrap":false},"0.0.0-aeb2f6e":{"name":"formio-sfds","version":"0.0.0-aeb2f6e","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"52a51414e5c34081c091f6245596c7cd350b9048","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-aeb2f6e","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-c6yzX8TQrgNutclLuyhgsIbcqabb6jp7Hn9vR6ZzvUs077fK/gKL1biYePVsPPxlpcgaDPrABG5PaYf12ipWgw==","shasum":"bb9e3b541d5c068f1050a558ec892da49f53c538","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-aeb2f6e.tgz","fileCount":200,"unpackedSize":1160067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2UjoCRA9TVsSAnZWagAAd0MP/At9rutHluWodGh9InZs\njlZVO9n8HzErKckRqa3h7mXMyqTwkO8gv11sGDp3PJQ0KsTqJA8g5+BKzomm\nJLz9aeIK7LBeP3izX0/lrakDkYF7hEA8RK4k2kSZ82Rj542IU4QQf1aGWWBb\n/ZvPQW2lrrmn7clyU0Tczpnl1nJOFx8z/h+kw/T7SYKmkQD50f2vpe2RO2+x\nM+yJKz231hIonTikM/p/juCSnv/K+ovyWA5xpGS5qfYHKx/5+jKiiZJpNhbH\n01TFwGIUTO6aeO/mvvHV9gEr/W+azosHJetvNVi0Lg2xs3q1gFwiNrsSwHCe\nXa6wBoylO3jEGgQnsW1M2OObgAMcR7SHZinvmX/zLRTeHWwKEQLNjxjtegYM\nS8minDmr11hBBxDNrCbvOtRPEJrPDXdn+tPpUvL/n5wQvRvLijzYIofxW3aD\nDYUglbcok2ULjytCAmdHAXzDanJwvEyZE2rjjgcq2LSpk/OwhxnnWMyxAglG\niVDeJP0gS+Qr1tv0cDQOFtl3yHvb+M3Fef4a7XD6TtOOAX7IzEY13DRj+XXY\nNNCw0AZx2IiOEyPGMmIeQ78/ZlFfnbecGM6mPKoMRzwkBvGoCXi+zaOW6+0r\nqw2AEs828B9K8swktjD31wa2PfYdc46fEQiJm48cOEBmsWxQ8CRjAzKL1Uh/\n1lmo\r\n=fX/7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8JeiR9nW2eOniKPnOdnpHdrLPTV/xQ/y4vfy/a30E+AIhAKvK70tq4xWHRpiQZsj3fl+ullSPFclovfMQ822h0MSO"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-aeb2f6e_1591298279241_0.8120065978233575"},"_hasShrinkwrap":false},"0.0.0-548557f":{"name":"formio-sfds","version":"0.0.0-548557f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ced609a459e907b5b5c42fb29a92b51c3acc8249","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-548557f","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-svksdlEMLNLjRx+qhxrZ6RtKF+TiU5775LvrBuhUpBIUMnb/KVUGxFXX32JYMv8TZQrOPzgi93RqGBy/zBo7Dg==","shasum":"eba4e80e48bbcdc03558a7a29fbc16fb89b52f7c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-548557f.tgz","fileCount":200,"unpackedSize":1160067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2Uj/CRA9TVsSAnZWagAATzgP/2sQyQOjGzKZ7yeNPCZ0\npM8KLsjpiW4YUJ1fIs5upQiY+pwTYRyLX8HyjeBkq6BVbAsvIynyA1L8oZKW\nGPb7glxyALbaEt2In5TpO/Vo0N9haszsRLY62wX786YHJNVFxXR6IZuJMPCR\nS67r5+sv2Zh01YHRx/Jz3GoX3AqWajF9SDEAA1xJhJ9t6t56HNxYb4+J17oY\nTrvTRzepeFWeVSYUlkb20MoDlLHJ0AnxJOdmcheWkHRV/Xvq0eUhStGe1Nlt\nDpHtFg944LyOVvs6Z3zuIsJy1gQU1Mzwue2/vJ+K7PYGVN8Nq27fw1GDswIR\n4+j9/9R2xwtszrWwxIb491L3cjPLqwc8Wvh5kseYL5LKLVsbV/dAvdrW0+9Q\nfkkABCv3XlFrWkH/7StqR5nFqESykEotNyYg6Xc7DliQ8G5FAawkCXC74Qpx\nK1Z92B+ZmEeiT2KC49CE+gorRBNv24gK9ngy2sSIchCpFAhhjU2vJ4JevvyN\nb7vArkh9VrJUYBOvdR8fKYMTYk0Uxi7eibpBUAVhNrAKNK9+3WC4ql0urB/R\nwjDwn4dg9Xte1nsgVfX9z83WXGaufqi3ZhOws+NBavHNo97PtvD9rOBpf6Sr\n9GsIuGRaP4Nck7qLNcmwY8CHhvqEzYBcfwuQ4bxyXrbkoQaJ+9OdO9kfkkSR\nIXwB\r\n=zAyS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDZoMvIpjaGYKp8KEFkwQVDyMkeczjsh4aadmVNtPi9KAiA7SqDrwpkHrCpjGib0OOuB6lAnBkwWYLsJg0uxKeaAUA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-548557f_1591298302869_0.5861762811860485"},"_hasShrinkwrap":false},"4.2.1":{"name":"formio-sfds","version":"4.2.1","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"01f19a518e6a5d37e4056e6773c1101d59169c91","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@4.2.1","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-PB5AIeqjJ5DsqwH0MwU8UUYe0P049t9raGIzBcxfY3lO/Jj0+i09L8d8RUeSbKsIWpRYu4Pmf2jRur+4Oza2Xg==","shasum":"2a7e495cbe1a3f1425f4d7669f1e2710ac21a7e9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-4.2.1.tgz","fileCount":200,"unpackedSize":1160059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2UmYCRA9TVsSAnZWagAAAjEP/RtukjtS1F/7FPSyzWSU\nVO/AaEj2LIkclCk2v9/G+Vc7aSPN0/unVT89fCxngshdPlOttb0FUZSNkzRC\n4DxFYPfIIptmSy4EYk8hXpCRYMtES0k2sW3MUcDQ594zl2+tHhuMQcuA5/6Z\nArCxldStKfMOlIBx/x93GSJxfC2tuqLSpGkhWTVO/EFLForfIPjcQFVLx16p\nq/wRBKJmWJleBV+Q+bl7GfrCEd5jA+pww5ZJKPKTnEQULBAXgAgt6+Hx8svL\n/7BfmeyWXY7KK98dKLMsUtLYeFFajfjFg1TCv7rcG9KRT5MK8973UFEUNS3l\niNvyvId5bCYZHztvU6whbzrad9UBiYpulIImJ65tkxv+wNNH+2d0b3CvnVDL\n+7nXLjmOdvi5aGcCL9wTKEElDf7beAjAgBWuqavBA9SJcPwI4rdFJEebDQMf\nEWytaH9NAsGdN08W1JNIc1jowyy1ZUVK/5PocIvbaXtik+mVrsWQEnQ8rr/v\nZIX54Es7r5WyLRYj/meH+2GlZywvUdqUP1SMJclUqUxi/p+yiD7/doQ3KlZQ\nfnGtr6Mh2FTG3xN6I61xT9EuP/EFM+Hf9XMenFQut+oHj6niDcbhoxOZCZFy\nf9hRBUQlX7QMjLIOfj/bUJ9KcuRlLbC/F5va88iAY9nz4uqLe0IQTSvsnnSR\nYiBj\r\n=bWaF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDKXiC4RGIgJ11MdotyAeWQ722CFb8FKR5oN+7V+M6yYAiEA5rgnEkFJk6S/jviQDAZZ35Um1PUEUVshVoxi0bMrANA="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_4.2.1_1591298456155_0.5345786076250714"},"_hasShrinkwrap":false},"0.0.0-fd8d833":{"name":"formio-sfds","version":"0.0.0-fd8d833","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"906d1264037454c8f3894a88c2c952b3fe60f32f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-fd8d833","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-5C9ufaosCKDjvaL3J8C5b9Vt1V33s1y8uVwUnTuILLElDPyjzVz2+DUaCys4PqHZybH9kNtn6a3cfLenmgw1qg==","shasum":"957d37ee189c28993452ced83953f81b61506dfd","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-fd8d833.tgz","fileCount":209,"unpackedSize":1339717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2a4NCRA9TVsSAnZWagAAbtwP/0Bv7o3XGgpieXA2Brtr\nqTxaWFeiJMIqxgQ9YDBL87HDzehJMliDcVRs3uy6eFtLs/wlZfzRlxS3KntO\nhPNbt/eBF11Mqky4GmfL7x6sCMHorWZ9jGTT1/Xpvhh1uHOaENKwe007eUXh\n/vNwsP+uVaF2Q5YDnGclHVkM8GLCFc+7UmBoFLcjc76gpQ8jzr12FWVRDHtS\ny40MR6CDKqr0gjtTqw7Jqs81q171TJQdz1plwqNvZKnxCbbLGgNrY2ZvcDpM\nLhhxiowxq9YogCHwgjs3+fKntB3wQiou5vES5HpEdG5r1u9P5vzNUp+rm0tv\n4fbVyqEaDZCy+z2aYBqFcxFwQQI8stvP4nm9YBsmFluPGg5jxeCmyHj96RPE\niG/j2c1UFUTB8W2brw0Dllyg2rwy+SL0o2DzlsSuBR9eO2IsKVR7rrFND6Af\nrqv1wGsdU23xxEh7ndh8oSHTpOjE1AbcVPFAb6byHAPZFBnbfImpPxkqJ+Xk\nDVBmHEORkIf8eq9FlfAEzlq0U6Wj6355nxBsg+jHOu/VZjkEvu0IBuuoahfA\nI2jESsqTtC6okDK0OZ464DXTQhrjwH0C10cutssHTFdQxFMOGCj3HgLziEhW\nnt24hnkTuvVE+hGEVwaf+cfoKULFN3QDolxJ4LMfF/phX6K3g5aPBUDBP0EJ\nsdbL\r\n=MKZB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXynNOLlc8xVPZYc0B2UL2p5qcowge5qVBGxstdms9OwIgLEfNV3ZJvXPoMFO1H70yAQZ+qCXn4h9MtCXrvt54m8I="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-fd8d833_1591324172788_0.9989622027775753"},"_hasShrinkwrap":false},"0.0.0-9bd661e":{"name":"formio-sfds","version":"0.0.0-9bd661e","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"5bd0d122f4778631ec91dca84cbefcb69d412363","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9bd661e","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Z360ga/F86QQED+n5I45NcvMnOytKVKqdRcr0R3u8egGrEAsIq+s9bCJkDYeGk+yhXyLeasN3f5WVo+2rJkCAg==","shasum":"c89106b15bc4bf40d8a746ffa53941f30572f36d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9bd661e.tgz","fileCount":201,"unpackedSize":1159238,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2dXQCRA9TVsSAnZWagAAtsYP/353THpp39wcpwrSiurq\nCGih+j75EJ6H5VKkVAbRbISrIj4nDscV33Ef0JqzvZxo7f26u4KGz72cAiXV\nwo13MoJs+/av/ox8s8NaUUO1UZU5KeLoirqLPFiXljN3peAJ96XzbZYaIs3Z\ni7jHbgPM2ethzudkXGXsEIJZpWZRlkbOv/PJooBuKRghVeES4IuXV9F6vK4+\nIer9CdErXV14NRmLO2VspQiIw/FhDHAiW7Vo4AjKmOYGiSkduu+FsSLZwEMQ\nRjYTVj5/f4TaJ+Y+XQG3Atev1eqMZCra8XRPI/0rTaZETxoKHq8KngOjczfh\nvCcguQA2quHHFgLOA0RZCbfCkmBkcmWOxH64W901+sPqiCvtR6E4uu9VH+Q7\nhoRdbmdkQXtt4A2QkFWLuPANvWR7jvRdtSeBZl+4krYUgPSMJ4hi8IYrtOGL\nfDZhZnR8LleEt9WYU/uZBakWld0cwhei3MgFxRxoLEdn9fbruGtqasNmpa68\n5MuZ0+mvcRx6dIClAn97oaaK0koX9R/TXHWfCCfbU7nZKm39Ia3w7qLoyZsf\nsJphi9ML27WyHK1WK9LvOe55qe5kKEo5JCEcREFbyy07mikkt3YDGeC7xsfl\nAaXQo6o5HTVxGbJKZRenIWFX4wwbqsXZHIU1Gp83jb6NZ81sefUFqk3H/rS9\neUTT\r\n=E83a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDz3d44aPNKgKaGNTVJTfyrR8s0CNwuOLmyFXzM8QQGwIgJT+f8IyxjzKw2jVGYYXFBQ4Bq1MGsGXhPtQyGzlMkjw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9bd661e_1591334351820_0.6450771376780802"},"_hasShrinkwrap":false},"0.0.0-36ded71":{"name":"formio-sfds","version":"0.0.0-36ded71","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8ef0908c27a255b50cf3b14ae07e4c243905620a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-36ded71","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Tutembrgf4F/lyNZVsIbiy2cGe/o8mP4AabkavZg0zIOyb0y5LBG2UyHrR+815Eldswqxp/Q3GHmwyARJ4exXA==","shasum":"de1d8ca8e95084a0d44eb5381d7f02b52a2456d3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-36ded71.tgz","fileCount":201,"unpackedSize":1159238,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2dXgCRA9TVsSAnZWagAAD6IP/2oo8f4aRWAr3Z99tV1g\nBbsz6znjBzU9moMhpy5aAatKkzUgKIXeuVvA3Lxh7+YYFM4bE3EvOGREy/U4\nu7a2AD/KMULFS0wPhn8xTBMhbsxgeKxmQLOW4Bi/itIXrxS8qNv0eDoQC9vF\nTNfjVPsheTdqbEgsE+Er0iPOrUOEOs6PZVvWRCFhOg7ABt+vDT5BQ/cQkWpv\nCrNmxFI4YXs6MCW+8nbNRe4mCCmZByyPlRPTb9n3tYOgl7u9UgL85rYDB/Ao\npSpqHD11xs8fpt3RIf+S8kDBuG8DXQ1MHh9G6V1WMU44D20xQ3fqGlpD8mJo\nPeaT1QyGhUjg3OcbWxrOaJ8mMXfcfVJP5mZIg9dBASRXlp/eeC6ipn6uMeYf\n3DC+Nj83MjzbWUmd6kg2/Xced1A8JtJ4I5eCPm/qh/gJ5Iu/sg28MF38BuOU\nVOMadjLRRc+3gvUJ/by0GNxw741AnWfyezaOwGPVIf2dNY2vNd+g+v+pABaS\nCbct304RUOnBHEz7NLI1Z6bk1JxkQlOT0IWgg835zFSTuOJ9burREMTQYyom\nePz3r++hGALE+9ll7S28hX5C8So7eiwPc7eL+bIxi0w7gUCSOWK1I3P9GYke\nCirIdr/NkrPEVxcsoyfpWxmI/eWnvPLhbS/0PfIVIwz6lCp++FGzl3TqotPc\nMdNF\r\n=WzR6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBqwDh1HmIiK35nAzPb9i4NSVMMijLFyvN57REsMqb4yAiEAgWNGRfXGiIgttsJWs10tw5Y6Oi2e2CGaluKy5LryrYM="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-36ded71_1591334368044_0.7791536897670941"},"_hasShrinkwrap":false},"4.2.2":{"name":"formio-sfds","version":"4.2.2","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"933e7046e5876bff36f7242a72eed2295dd584e1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@4.2.2","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-tQauSTQlcQGGKlLSzOTYOhYynmvxsoRDGYCXHQQ0cF01jAVdTirm/iDfv4ZIqBWwmjs6T4jxAitXkq49b2xPYg==","shasum":"47a7e612cf55ce54a309c60c5184550fbd825c66","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-4.2.2.tgz","fileCount":201,"unpackedSize":1159230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2rgvCRA9TVsSAnZWagAAhm4P/1oqhxWD+GWiNO/DPdB9\nVNPvgHWRa2o9qjMduXwIF8yLdg9g1ugCWnA9i1LeDuWRfdA6KjlVD2QQMa19\nYLEwmg5vmHI+WaR+xAkpIEqrSRJENpJLeNxj+2J0T9kZbskCnNb32qxDOXvf\nI+blRkoEyPcUcILUSf2OiXZosaO9+6OYVxtNFMgHyhcEBI8bbbqy2UdRYfPl\nCXYvPSEUSakgxKhG9AQmINu+QDEfEYHV0MH+fVK0HdpYbvyWAwze97KUDLlC\nVBY+8zrn2gq9Eq/gSrrpqLd+vwUobqHHtE5bvDO7sghzy4JB7qIT/R0aid9A\nEy3F3IWk7Htfye6d2Qm2b85N8zn2Yy9BBuIR9QvY5/9+IMvVr5ZxZsDYMdML\nataX6Wy9VSMrgL79D96IlFpTWjSOWwiL3Mjsh6V9Kic8EFvbanVu+MiP44gx\nFGKwA8E6KcyNsJSOyNmiVokx3stQpR9plIlA6jIJlKB9QA4xR8p9dJ6DKjlc\nogP6YgZ1vObQlnpg8w8v2AGJ+XVsZYegi50f+ZIFILDkcCL2KzeQYhimk6PA\nNCnEwRuUKJuasOvqEflvrkibmIBa7xY6EGFPDukKHGWc2oeDM6j5SkQudgCz\n70MTEFRdKS5P4WabpY/tWSjyWDimckRmmrLsInD4gQCAs+/Bps88KorLvqvr\nl0Uk\r\n=Ncj7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIETL3ZSB9OO8D8k7uxk12ipWA0QNaW5k0gFdBUkIUYlTAiBeuv+I11+QSY74kgbxnFam6/rSdq81Y/3/y/WP3SoPEQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_4.2.2_1591392302477_0.5014316736068911"},"_hasShrinkwrap":false},"0.0.0-791ae86":{"name":"formio-sfds","version":"0.0.0-791ae86","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"c642f31805b217175c4d0e28fbcd0e70be6872ed","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-791ae86","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-+YoNwU4vl5/1AxKJbg29Esu6IEjqfbITYmjJ4c7wFF228YLZXVYxmiUhbe4eFj4UsBJ+4S3U1fTeni27koeIBA==","shasum":"04e7cc6dad307ca11e1c7f7c105d506ddf521f38","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-791ae86.tgz","fileCount":201,"unpackedSize":1159781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4BI1CRA9TVsSAnZWagAAzn4P/1+96NFzL8IRO9HyNdz0\n3BwMukMD7IBClzpWrzo4vhnVeC1xh/1506YWrsVH+v5yIlDpg3JwqGuLuImN\nEgj0XV9VNqwQE5hGkTtYc54a6oSn5eeey7GCJSp5LKwRGJswODB1g6xOIcjp\n71TFCKZDsrNqOSciR+SS/rgSD6SqSnNgVCNtGejL1QC3viMeiADVwmBbxdJ1\nL7SlzoTFscUflksDkYa437njYfMlGgJxMjTvcEEpNPn5oCJjF3gNyuU0LGNT\nBTJs73g4ajGRISNROauTwepBTvSSB5238ixgTtayRUCDOWodcHKKAKGuVoZ0\nKYDdBx30v7faa4PAQ0hCPJV6yJBtOy91vuf+LMmiJjFcIoZJJL0F5quZC2g5\n/95Wtis/13FS0bsX+VmypH+pQYIsTL1pPTNjQBlrTi+7LY2OvvHv6RbuXfed\nIRBxeb+9WTnhwaoR/tQ0xYwM+hCt7m4kBjTelJ0zcJuCl819oeo7Mj1t3ITp\nHAxYnemExsAQNlS25iIO6NPO7S/b8HN96kKi24EHxn2B/WFd9vhdWmDZQyl3\nOnUXQ5fmIAN5Px9cdRxKTPLJipRLeCZyyd8tPZE5VgPmaGxDZafWMCKp++tF\nMIKAl18qeIzz/9Bhaky8SL6/a8Ajv6sQUxnXso2lA7fqVJGJrNGJIV1OujRJ\n6kxo\r\n=T2hv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE0dIQdtzvqlcxRBfb/O47aN/NzZyOOUXnormzcHFxJWAiEA4xG6keRNgJ5Zju3v4smT0FucU9ZM49XbAvKubx1zn7g="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-791ae86_1591743029046_0.5454593973985844"},"_hasShrinkwrap":false},"0.0.0-cbbbad8":{"name":"formio-sfds","version":"0.0.0-cbbbad8","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\n[Form.io] templates for the SF Design System\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n* Address components are made to enable the undocumented \"manual\" mode, which\n  displays a standard address form with multiple inputs.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"fa08fc045504392b8087b9415afee86771583618","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-cbbbad8","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-sh83bWUQ1WMXANSbGoTsExS8L8n5kdlqWhLahIUVG2w3UuOM9cDQGifLuTegUXomXVJn+FcH18QGzbxyq3YEjQ==","shasum":"074943a264fa5973fabdf888dc1d074e158212f1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-cbbbad8.tgz","fileCount":201,"unpackedSize":1159781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4BthCRA9TVsSAnZWagAAEUAP/AgIjlCDP8Mr6SFkOIG5\nckdNzurE/8ruDoLwN8Zk6Ec5tQN+4ceLyh/hrtE9OHW88YaIxNXY3Dxk/t/1\nxi/M+LDAVU/GJwcA0EYQHvtf/xAtzQfPjk+TmjdqDeAc68P1H5GLxXbXdny7\n4DNYEL3jbqjfkfUaweQiG8P8RJyK9rLv3S2rD0eNSB5hTQ36lCOvnWe4J65p\nti3p7qr1gydms1I7DBa2scoUyXusbp4+nm/ukKc8pI+Ildk3V2jVa7jA2hjS\nwCk6MfgKmmI/jpM0s9egrMS4ToAGGgf92A1d0PKiCh/tgfl6Ul0i24luNLYq\nD19QljCLQaLSGMqFErDTfZO48YcAtr1TRr+iiT7S5zCsyl1O3HlhaUBUtq1L\nGj5tbCna6PeAPqfGBvVooH65GY66hcFQXeE03/Ux+0TYh+ZCXt74Xbhg+Ftm\ncMLBrT2znyIxUnOTdXHUauVvTHON8EhmaklUZ6LhQnDYuQYEw+5aUKIxtn95\nlaHG3WZiRicLYYJCSiZ99FY07bcwPOAzYfFcbXjZQgYqtMB//yyHqB+b0OTm\ngfzIvVlSGDmWGl+PNOA6YhbNZQO8t8yZwN9ojI0RiCkgWapiD+0f9TjT6Nz3\nWzdguzDs8hWWyo2IPkcFBGJO/aqbQqRNfGj2P9fOc+9tb426xP+uqHvDga63\nZvL2\r\n=dIo1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDzqK4DpCef4nGKTaj4Vi8Ir3etRNaeL0p0WKJrtDe5OAiACsjczvAhZhXWXOZJ8JDqL6J3bti2yy5neZ5EeSaAM4A=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-cbbbad8_1591745376426_0.23972000869815813"},"_hasShrinkwrap":false},"4.2.3":{"name":"formio-sfds","version":"4.2.3","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"5ddfaf1350b5d519128be1e757a50f725d3e2285","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@4.2.3","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-5ud/1oqpOVXbzdu45yIrXirFGYPrha0SuPDbgznjgyCB5Smoe4bAQ4VbN2VdoBfuofsHQJevpxC4vZ25bF07bA==","shasum":"69c0381f3e6c8155df78f9ddf34db9ffbd2da5a9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-4.2.3.tgz","fileCount":201,"unpackedSize":1159773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4CFaCRA9TVsSAnZWagAAkkoP/21b4j4RhRK+EzD9JUxD\nCCMr0Xkn1/uMKyzxOrnaNJzeUbmsBMBWhOJlwTSb0chebXUH3XkqHLawIQKD\nzmx9MmWOHy0hXHYlDF0MmiO3DiMXJSRFoqE7syyniPRb0ezMWv8OudlU9TPh\nLbbTbr3lyq+23undny1J4cGp84LdJbfCAR5A0kXPpCiWSH5KVgQeQFEUSINe\n8XE2sRb1ttkUpv4H3F22lJmnuJo/50WeQR0ph/Mxm4BZC42gSXXDqBK6IONa\npRTgmxaT1eCJtwGAgXMUrfeyA/raher8PnxiXNlBKZPW09x7b4zB7PNznI/V\nU0+odXZfaDtinmKWcqcJPopwMKj4W3JfHWG0+dQIIjbULbFxysBZdDDLyTrh\nONY8xjdDZtqvOyYv8DPTiQwc9XlXOscaz/6rsuZcJTpeknrbpUi04EiIL7y6\n4guV8i7iWcUehLFp5+jYDNALcx/2K5PiloZOzbwOc6g+92sQPuTENmc9dNNN\niJe5X/0SS53mujLatBUVDdso4fN8v+NqZZU9HieEpSaQC2/TtI4ZPO61tmJr\nbE9hc/WbqbYRjQKjIwU/pt4VuWS+ddkHpn+MrQ0EMD7pFli3Fr8aocS4hqBE\na61wtS3PWRZ1rABRpfPbUEi/uorA8M1Sl4MwnijKL87V4YboB6sirLz67puw\nbDoD\r\n=zckz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBp3kW1Utz6TVM7/Juud4tn5aVwk7WGS3rAtGMjwWVMlAiBibZu2qxfCBC36pWh8Q4vM9HqEk6Y0uIDf/cmj5dhJkw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_4.2.3_1591746906373_0.06705735098295951"},"_hasShrinkwrap":false},"5.0.0-rc.0e2c448":{"name":"formio-sfds","version":"5.0.0-rc.0e2c448","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## `Formio.createForm()` improvements\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n\n* If `options.googleTranslate === false`, then the `notranslate` class is added\n  to the form element wrapper to prevent Google Translate from touching it.\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n### Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"703cbc2c6deacf441d78327b861aff71aa53c8e8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.0-rc.0e2c448","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-wPLi4FtFKwoGWoCGKiCqMCfoayxI8l0kRqZ+KOPR22VXBly2/v3/aI9l80FsiraQWZKgK69rmjn0GN7pDA6GPg==","shasum":"00e10533696b2f2ddafde7b54e7b7c4cae249337","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.0-rc.0e2c448.tgz","fileCount":206,"unpackedSize":1216431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4CMECRA9TVsSAnZWagAAOvQP/RTXKzFtuAB43Y7E/ixQ\nGfbXWxBnZkYeF8Hgy4K/MIZUHm+R9l9xG+a7Hj3jOYAQoNukTVD4jqH/VpWU\n42qpVWcBO5J2CS40Q1sFn9KVfI93ynItK6wjfyIyLumcrEXSbQ2OJHcYE0eb\nrtvev9Vj+e7aHRjp0tbdiK/g9/slD5Il9U4aubhEGxZx+0awZxyR9JjXyOO5\nFtOaAH/9O6lPiQHAlFZVksU0aBmBMZCFMJg6cChpSjqGNsohi69VDlvOoDJa\nzZyC3Ltl4FBiy8dj2R0PRCTMpOMZfY2CD7Kdv+lAmj3qsDQX0vq80CAUrfab\nopFrwReXS8AwJ0MQK1vZwwhoe6i+pJTX0FTTnxXZWgeSo/dgD4IzhBMB62fp\nR43xPexZkqgD7tRx2I2W5hoChKVKJXUZ99rMuUAvm63P0XcOM7BjxeTTGwAj\nbm+bzkNeB27mhFCrOfgObJ5sBBmDc6edUKYK8EL4Ddxc2rFyva+3S0Zu+QkL\ngMbJT0ittBx4BBTe7eSafWZsX79RzgyKgYkuU6lxAde57nchXMAhP42pSQNZ\nabbRRBd2caWCiucR0iOoj3ya/i9lOepRB6cAR2XfjEW9YbhUUb5w7fno//pi\ngasexRNDd+UwAp7U1aHbmR6YjZPTsQWvUKgW43Wqig8EpOPPjTk7xwXwpbui\n/IWt\r\n=SbOv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDelKyqPcp0H7DIj+hBqmeVqqkOqR0msCmH0z6kW6eBqAIhAIaF5lUi7nNrCUuJEHXWhSeJ0Vn6yLEd3VJWh8D8NWTn"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.0-rc.0e2c448_1591747331547_0.3069055870773556"},"_hasShrinkwrap":false},"5.0.0-rc.e4af436":{"name":"formio-sfds","version":"5.0.0-rc.e4af436","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"26e8cee4b5aee8fbda829af8e927c32653bb3bf3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.0-rc.e4af436","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Kw2ObAKnSShn7o2iHDbiJEIiXcXyyMpuQdOq5MEb7lvMfa/KfGJRyZz8M/g3mIquAD8sGVr+B//NH8P9TlWqYQ==","shasum":"c5214386c0dea34257ac7efbb03f3544a9e78f86","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.0-rc.e4af436.tgz","fileCount":206,"unpackedSize":1221563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4C4KCRA9TVsSAnZWagAA0akQAInO2W3DjY+ExifdLasx\n/KjTEwo1pV8nNt6UZk6F7NcttvPB/8RkSY9983gKgDCm9rQNwr2e9LttLWbq\nZRuxRXxAZrgIUZqECw6JjjwLLx2QbbwqqaRJ3/Y0NtF51HghqY0l/p6mb3Fq\nSD+qF9gGC/xCgS20i//TtlnkbpQk96lDhMGjZu23ppbPyBMlzKu1oJT9UrjA\ncxPpb+qVyHwKXYQCRYV0CNXR/WJYPrP2D7ykaSMzFRtbKQs34IiZ7P5T9j5Z\nRG6V81iWlEuVO3RWwumGEFXBXY/0DHHiz8Ic03JXVjTxKOyBnB6TdCdXLKwm\n+DZ+7nxGWRUkdec45IfVoHy/e8meBETZPVK0wTazihWn+SiGshyVRKY1Qm7X\nkzQss4KK52mgu/YNNnbWUedY5HREg7Wt/7ioTlZfKRn5TabEoj1yHFgk8pem\nziWBIpYIFyZmhYeYu9kXwTidPGvQk4fqYG/v/fZRazIBnwG9C7WJtmQCUWtV\nO7W7kzNyo/1m6SbB/lgJfZrU8YL87IsPIs6bZjOHTQJcav342DorMR/yF4nK\nBm+EUi2EfSKed4pKlTXikMCb14SyDJimu324ELdr8+UbGrGbc39gl1Gk7cbU\ng8Leo2+C+q6nNdyEGMM7i3zHS9dz68atDurIdQDtBB/KzG1r/w8jdZsSnEwX\nLoq9\r\n=3+rP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICpZWlFVp4ev3VGgDIWK4emgXZLdCaBGfVi1S0ACEctoAiAZNgvhmSuqgEh/0W1ZK+Rt5Sve1Zu6pakmuFhTVhsAiA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.0-rc.e4af436_1591750153809_0.7979836992559199"},"_hasShrinkwrap":false},"5.0.0":{"name":"formio-sfds","version":"5.0.0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.8.7","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"e8b225419f66bc64fe915b4d24a01e23ba214313","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.0","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-oLOykxTH7O0a5jk/4l6aIkaVKqSSRUy8ToAuCofpNVs71jTK4YIDNXC0FvvwdE4mz5AGcUZ7WqoHuw3/GTKJrg==","shasum":"6cc58f8eb2e414cf1d0a372b344ef99b8c40dff5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.0.tgz","fileCount":206,"unpackedSize":1221552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4C6GCRA9TVsSAnZWagAAqU8P/jrvlxZ6zIkzE8JUZ3DF\nVv19J2M9rDTZszU72jSKtNjzLJ1+H4K5Sdx0IrWGrmZlqmYnTYyq0CYF5eVf\nKfyECj+BxN+BpBXT93Xx56XpsygOjbslhOLUlC8x3j+5HjEhd5gl9BKox+tx\nalvN83toK12updi5aa5q/VXODzDEe2/3wqnTJJAuJhApOYhRKYYH9seJK1Ul\ng3GkmsNDIeULKjLk62NicuREjcvjmOkkmU4tWTomAiuQr01lZz9TQ3Mv7mmO\nt/5mW0TmIsnoHosGtW/XaZVC7A6CKZAvd2hfnhb0SZrHqYX0ZsYKo3g4N/xY\nGFjDYKCl7lttoCMKGHulzjk6ee5hLFmsyd6bJIlBOJLyiN4AH3GKOBU9Rrz9\nmR350obOaHQXudmEAoXAA0C8DSzTs2thmij7tQDTkR9xkkbow6jW/UEc6YoC\n4pMJAuMGckUe/fiys9ykC5zbW04jZNvd5udbl8iIpkZIfac/FydE+ylmPRyC\nivBrWI++eTMEOuov9enop4N8EwAFrox40tpf9NR1ItEWirZHjlaoaVbbZJ5e\n4kqft/X8iwWZ8DBIsyLsOhdotLGlHaQHqR7+z+m2ftepASKgJ4qJqt5pFRIJ\nzEt1UyAALeDJ02KSJkr908TKathkXr1psHATzSMLP3VMOiXm7k/8s9cOOWCh\ncYcj\r\n=tmme\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC59vVB59EwV+qWYeAuGc+6WXWuO8BzC8fBTJnBpU4kZQIhAMIN5lZpTEXTzC/pSimxbmtI0m3VHC9Sn56AttjyFsOM"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.0_1591750277856_0.32491014568786825"},"_hasShrinkwrap":false},"0.0.0-350d3a5":{"name":"formio-sfds","version":"0.0.0-350d3a5","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"07f6735206d07a4d2a87c47434b37544b207c8b7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-350d3a5","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-RT1kl1WsNcA8ogVZ51ts1ziI1jKALrNofgIwEq9KH3kpIUXjOFsovJo35vIkDnd2xJy0i6QYBJG2yIz4gGI3Fg==","shasum":"bc27aa781bb04187ef1abcc74991fa6df606ccce","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-350d3a5.tgz","fileCount":206,"unpackedSize":1228597,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4Vl+CRA9TVsSAnZWagAAYx4P/3L0Tferf186hm95xCR2\ntopMfbm2vbmK8Xl/n3orKEF2QBK26Eqb6lYehMvDg4GY8qsG4xvHwxHVvrLo\nWHEdmEyO4D12PQBqx94N8rZRLnXgSKJqy7yqTEg37t5BzxUy+l4yMnWHIuk7\nXrsKV1h/Y3zXtabLkX/9MTozOY/ChobT6UwAuh1gXbIkaKGnD9WrPfedXcae\n64PDOU4sy7lv29s3hfejdqrkF1h26xOQMErxvO9X16pM5h+dffRJT0qaqtIX\nY48lvhivaw0Sy0ZyJiFggwaEc0Fl5CdmGcFRVJ8r9AsrxFvLhGYKW9to0i/r\nwb3w9pwve2wMPDbReh6spS+1KyaRib5cAxAeRJ+diYE/je1Q4UW52q8qXTDa\nsjVQ6Hhetz4fHS9C63yAv647T9k/5OZFGFx97vLZWcgF8qV3m3Q5xY5QRByQ\n00DHhUBXVdgQ94AawrZ1x+qFoiAv/BWhCBN8MqHuHdrEAoHN9jDaOlV/h11V\nJmVxEBzLNOaXFQK3SPXAwTXdKwRCCobDgFclAet/F9BlUHH+peoLBFxgqw2H\nKzNL/Bfzs4GUUp72VqNdhK4an+4hqxaMJ2MN9+gDUua/lZJmk3ApMLSPOvPS\n5wBGgl2OVbTJ4cfoSlh3/a1sWPt4+J43tLuDIPYt9yqfvwooW/PZx8qIOQxK\n/61l\r\n=5BMk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiAFcBXhTEYi4wX/hEcy2HBWs+QJiZRgglRb/yhuPq7gIhAOyWdCdZwvGNIWlE+N9jZ+W+zJYIIZ5RPQkE28tJQ/fM"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-350d3a5_1591826813734_0.23236506009388025"},"_hasShrinkwrap":false},"0.0.0-869c7b4":{"name":"formio-sfds","version":"0.0.0-869c7b4","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","i18next-browser-languagedetector":"^4.2.0","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"f50a4fce8322e0f5a17774061151b7408c44e375","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-869c7b4","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-b6S2dkVizN/93nwP9Sztrny4VU3fbyBCK43stbgbw7qEXzuzZbFV4zmdhxO4LYiFV4Qc5U6AlsdoRjGBAHTwCQ==","shasum":"db6ab893792c4b942de0208d17385bc1b42d8fba","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-869c7b4.tgz","fileCount":206,"unpackedSize":1231304,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4WpVCRA9TVsSAnZWagAAC9EQAIeVH+/YoWDuYI5T+EBF\nb0JqDgRiro1R5Ajd3T5aRah3Cn3nT7pvYRvWTNpoR1IWwXzBBk1/zeh66pod\nFfP6UYHu5xTKeilhtP4kXeR7LX3lElBLCJzRwBKAPDfKyhSpoEbRzH2n4u+t\nR0H+lv5JgraJTsziKxuxr/HtkslkthEtbZ1LfS4gX/65u+08f4VWTVasm4Ra\n3Nfwd9ezSzRuprEYffaUqaZ26+iAMatSpJCjG2HtQyEIW6IcjN/I4vK29mK3\nOQ8x/ecfktdMhT/VWE9HsTbZHbNr+Hjau5xe7rKIQrL1hxOhdI/t5OikuTkN\nhMJ8ZGAshDM0adtR1jA7raOMpdCGLg/6zxLcUqX+dTXyUhHnjaNZRw1XVJSy\n5AzaffW15mox2Tqu+sUHrehZQ9dSUaTiNIm4MA9YRJ1N6Tlpm4oVawNUZ3bQ\niK38L07CNjDjP2XsLr2u12STxY8LYAJgYHShZPXYRUcwUZ808W05GqFizq7d\nisNVBTdhxjvQuPQ0FqVLOeXpY/YfMPyhIWQjROAV/X36OOV0IeK7sV+dgufU\nhVmHNgfJ3JlusYQJbBEPyJwxeMx/LI4BHyB/kZshW2L+nORaYY13r4HxXAVp\n1KcygKOJifA4CXO5r/C7BCHrH00rDeUPUhYOXxCQ96A8tby4mPV4gFWw/VS9\nELIP\r\n=t0pM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAR+i+MEGyEiX6G7XAs6ixVyfkOcJtkYY2ApwvH7PWhsAiAJAWE+eC0/6iwGVFAEfvQdQ6LP37wJrFNGJWnMEN9XBA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-869c7b4_1591831124855_0.917116365351575"},"_hasShrinkwrap":false},"0.0.0-b8e72d1":{"name":"formio-sfds","version":"0.0.0-b8e72d1","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","i18next-browser-languagedetector":"^4.2.0","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"532129d6fdadeda2997c294765c6788a3a60f414","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b8e72d1","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-vT7+zP3BqVD6UObvdveGcvkwDY85B3Z4JV1UWFV1/5NWxPSTjDzGKz9C2Xun+3sc9PGivB+DhchjWbfeFbbgcw==","shasum":"32f15bf22188733c660729561cfb59c02e8799b9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b8e72d1.tgz","fileCount":206,"unpackedSize":1231304,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4W19CRA9TVsSAnZWagAAj88QAJ6a+lEMpUuPb4+68qkr\nAgjAiH1ikjoES8m2Pc+bRWSfSMuGxD6dVfgv+j/0tqin36056ul7kF4agf1Y\nui2uerhxco3e4kpGDPQNV8HmH7JgFxyBoTJocYQSaxq4++qEmFkqjVNlHwbq\na0akR9ib4XIg9Hw343mODWbRBY7i+u7nt0hKKcT83oxsFb50qV91+dcpjUQt\nkMtmLqx37S0jMDdXoKpK7xqgTvnPMuNuztaNwW93sopuuTmQOv3IYwGrhMZK\n20pdFc95TfvA72rvYDrhx0h0busRjw5eEOQ8b1fAUMVfnC5Pkha8gZ/+xyzz\n6WSBIrKlqBcGe5rYa7NgYPL+8mGwlRXO5dJ2WExAUXXS8G5BaSFz3BpBkFaS\np30gZIjmG2orBDBUgqRCrL5ziPIwQP243y1LtSpL+ifq8B2OUXOIA9ME+GNX\nnwe9gv2ywSO/uMW8w99pAp5st2AgpkA8Zopwo+KME4oWBY03JmdTuCq6w60z\ndnNppX2Ccgn50OheDNSIWdFew0dvked+AiYoqL+aDaCRqbfCNHyQuZs6sZ53\nl3RT23wcPCp8KoobNz8E1iLUHLlt61FQywiOLUg9SiahSOVEoBS6nebjPP+P\nb+yAsz2bgl46X+ft8oDsjua0Z3axigGSSvYSGy26ZrUKd/VhotR9qauAmvYG\nwYfC\r\n=iSem\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDobd8JZ9JOsbD1bv0+uGAlT3ytI8cZM5cQNofXLIiQ7QIgXBnBB7Qxno2dvfacqC1DVD6t4HBShdCdKNnxS/eoBL8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b8e72d1_1591831932552_0.26780473290544027"},"_hasShrinkwrap":false},"0.0.0-caeb575":{"name":"formio-sfds","version":"0.0.0-caeb575","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","i18next-browser-languagedetector":"^4.2.0","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"9c6a98d17949a61077bcfbcc1e00611eb679410e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-caeb575","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-E7thkm6fBZ7A2ORzTdoR2UZFBh1P1lNcXGPZ5Ave04RMBJOrgwRTIWJXM8YksJBqOpcKpSwujFPW5MlJZXBVPQ==","shasum":"04898701f50175ed0c97b3f870372eae8dbf2e62","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-caeb575.tgz","fileCount":206,"unpackedSize":1231283,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4W4RCRA9TVsSAnZWagAAQfEP/RodPIlN+UYGXUeyfXGx\np7g4SjsgUbelVPD5B6YShFbHmLrJ3+5233Xqes4ebsdzkZsIsjDHzmGaFxaG\nxIqqPy6h6iOTWTbqXgwDWzThthHmhw/8zhLEVRTnLsw2XQ+E4g8p2g+wiI19\n/4pndFROO2T+w47OtzivrFeCjoLJs1O8UDzynwnumjjF7NtPmSannSZ/iQb9\nZr26/cHOJh23MvwxrctPVIIAM6/3B2Hn1B3VrezxBzIFfLTk2QnOCRirSo+f\nXHSogsFRC15pdAdLh1oOacfUEd9GWUnKvHp6drjoLtCJ+i61i1OnHt6FyHwi\nGz+yhiYiaNDGa/SfUcEFaeIkmz9JPIAkzyRS/QIfmfIOlvjU5R+dfL5aVlr1\nJwmWA1qZSAN5ovYValkAJXkCtT0e3r+hMtgPp+TcwXoUG+AKikSQrUIUP9La\nf7MsA1waRATovnjgqhEalgjYwRsI5gPQCHoXHac8kbOJ9puYSlLpKOU69Jkv\nR9nTt1azznJ5BTlVq0s+jlK1gZhR/zIILmEhaMwAqG6p3UNTa/+umAUGDUTi\ns/21P0oFaGFPjlxmL5z+AZFylWsKv/PNUDYnwgJSChYm5eRj2GhIk1FZqkES\n6L1gx5ktsF1DfNq6JtlOpy30PEZTsicWplziOyZP4yj+oZkxtFbqYW4oSurh\npVNh\r\n=Aji7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB7y9XcrNV00aVfSW7tbRrAiMjsMkrm5ggjcMyJQPQOZAiEAzn/XByN1+6s7nOj+hMcAJtFTWlpJxnI7rz3bwnGOm+E="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-caeb575_1591832080584_0.7616204602225927"},"_hasShrinkwrap":false},"6.0.0-rc.72ac5ae":{"name":"formio-sfds","version":"6.0.0-rc.72ac5ae","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"0647525213c746691bba798ebf48bcc3833bf12c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.0-rc.72ac5ae","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-m/Oie6MnJArXN8GhCSkzIq51nWjJxf3QiruDlUm2VR2aCNqAHahXD7LB4R/rvEuuyZx/yVBZ6feJhi1L6N7eoQ==","shasum":"964595c61cbd49e2233c3e52b60cb27d2c4696de","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.0-rc.72ac5ae.tgz","fileCount":206,"unpackedSize":1226736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4nXOCRA9TVsSAnZWagAA7TAP+QC/u4bH1XueEuh7chEp\n4HhA6uPMLXluJ+e/JhEpnHshIQQi72NfNrJrQ4TMH7R0CUB8kXKCyKQzM3F2\ncN8tW0AkP3tdyCYrT2laS9iJbs6GFiWA/C2HYBgzyRLzOziu8IRXuWyL1sSQ\nUHPeW41E12iMOYIT5tevLnUmQsj4wGSuIAbbphzl8mY97rGwg/xm+4JY6l+8\nnPU1nWqkox5K4dncoTiSkmXqLuGZVBVj1wY0ca/A7TWHRykB5cW8d7R0+pzV\ntj1yn6wlvLuFqTXUXC8L1wWI4Ff/J22XzS4NOfKyj4+oWhBBz8aOtQ92pac6\n9NYUj9w0hGRKl6EHLQ4gODLmQfXSVpqdnlxYvm8qEluAGABfcj9LrED0qB+d\nx1hClYZY1Tq2dXlps4xo0l3vGQY6J6BlRgR49A8GzzvQ9ggJQRvdZa8RMxzU\n/5pSxACtxtY+SQfCe8wyPKmcmpe5ZWA6zsVd1Z1Bza9t3sfkEOHyqiQyJRt9\nXpI5Ls04jcFxXKXn7UX8s+aFbjnZWm9hl5HrhE2cW1toUXjrhMfpVXlFmciz\na8D2RQ6rz68pOwmwqbuvFZp+9K3VBQ6jLfcye9GUb5E0GnlBrpGRlTPa6ktG\ndXB4yW4ZJFUooKabkBg5h4xsnPkU3HunjYv4E/ihADg1j7HDXXbTZyQFy/EJ\nEJvU\r\n=FXgv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFpM3CrHKkMy32gmlGIwtrKc5QaBNL6Zkqjk517jZhskAiB+V/scIS8jRgJrxa13yav31OUsLUam+ZX6t7sTbwF9Sw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.0-rc.72ac5ae_1591899597206_0.8215273530107192"},"_hasShrinkwrap":false},"0.0.0-370a715":{"name":"formio-sfds","version":"0.0.0-370a715","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"717d3940a4243d304b66d9a878ebbdc713552320","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-370a715","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-rKAiGhQO49NrRa4ltAqBWPk5azGJ08NBuDuMR+JWC9la49f/dOxGAD2shiMb7Bs2DWIYonueBsRoSKOygg+soQ==","shasum":"b02af4f9b41fa4a0a983158a17876ae058511ec8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-370a715.tgz","fileCount":209,"unpackedSize":1237450,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4n0vCRA9TVsSAnZWagAAtzEQAKQ3Zs/P4DMZIrNpOARS\nac/+quhFAzlUeBmY6z9AnzuyPNZXHVzLL3HqIw/v3MENb0CawomW1dcWMEpn\nYqUkaZK9VKH8uJleKqdVOxejhTBVV0BnpZC+MmVSBIXoo62nnTH6SjGq+JW0\niXdYV8MECBSl26C7PzMfwzhxH/FzWXCE179gq75FUfhh7uBkw+pvqyHqnnyu\nOOxwpcLuMQozPxjDmvdifpbS7aKuwTe7IjrZppnspNuvuCdSsZ1+wKgsfCl4\noBpuV0LoCWJcxR52W61O4HfBT/N3O99FAokqVrGbSd35Wcp29cyoRQDZZThi\nGLeShr2iuo5cje7q3fWl+NcCBRKynLgpWYLhKRJSAzfONTXfYn6fLq8gQoJP\nmxbgH2AT1Bymt+jmw4LrWubzQ2SxlLqg8CaKusNQN34VoSOXIjLBByvLkWiq\n6tJqPjgXXE80tLtj1l+x45MxWVwG+IhVpqgI4LGaHtU6b5MMGr3tFAEEgnOf\nX1K4FjqIYV8Pxy3dLLPCOxn5qertOTYVoTboK1stCMMWZWr18/BeZZtlLqA/\nF1Z/VRPCBSxozhxMOr4Hv18Op6OxsqsYpZCBw44dtwhvNUhOWC/ZZ0ij0oFG\nyC6OH7ObyjaU2H4UYxP73Y6BrfD8pjmabJCWzXncnXXaNVDLiTtEf9+KWu7h\nIGGo\r\n=oo7w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmnxJIguCMf+Jq7B1eFgbdY1A9VumMXvkoF/Jh60rLMQIgHUFEl9XuvTnudfQnKbN/3XaOGsI9Z03jA4DKeqcBHRU="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-370a715_1591901487054_0.01138140733073656"},"_hasShrinkwrap":false},"0.0.0-1939a5f":{"name":"formio-sfds","version":"0.0.0-1939a5f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"74e656d0f41c2facdf1b4e5136013ebd5a39b276","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1939a5f","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-09kTy1JCR7Yv8SnUw4YeffZZ7BXMwwd2Hv2SQXOjBvMaFipobZOMBDyfLnvVdzNwuvC0NGvAYDtORT/vf0qDSw==","shasum":"716d459773eab71b863e7cc07f4675642d5d1feb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1939a5f.tgz","fileCount":209,"unpackedSize":1237503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4n7/CRA9TVsSAnZWagAA+K4P/ROX5xk7Kiid2CWAWOZe\ni2kFSA3RXYyHJ7UExKVJZAP/KBjARTNhTvzxZupPakGZdrfDnTBoDMJl9Zti\n4Ckm33cb9SBrkymlegkOF/CUEeXigNzyWPeSndqh/Mr7MwpjmnRkRAJ8TQ20\n9a2rN9hpPCdN5sG1yYhz2ECazGPN60gf1EtbP/5HbjC6KQb6+4lkcOg142IF\nJLjO3YoBi71Zw9eRmnmt6baTrCpkhQWQmQVLxRAYYnAwWfWTNF4M9Qord4+M\nlfYw3Zyt5aal5tAahzsRtStjuW7T4x/sRWN6MmnTVIWtybHt0VAHQEoAIOZ9\neYrt8w7a9h/dwFTwc/vH2NPpkhBpRODh75eONv+De3iPh2rShdk11mrSEpIG\ngVX2G/H8St85CFZHso5SP6pDR3t9+qjBv037vHG03malUEbMEF498v031MHI\ngEFMvYk59CeGiBPNEtSOa8JlwcGra4FDrYuL6UGPLXfD1pPJc2MfvTg45yx3\nOtCUUlK5MAMiAEPrsTJ+8UY9ibxlLRqgY4OilEsK3I5DXFGyaRJgmFLCTnKz\nH0Wq9qdj4Ge3bQdCqtCF8jwvPCmvceYMqjo+JjCzJA37TOSwLr/2HcJtXsaN\n61etwdIpdmd83Lox/xl98miDE5ltuwY9NWe1RQNY9lcLASdGla3UEvF+EGbF\ntGeU\r\n=lFhq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRHgvM+WBzhuo8S5o1DpCtbALCSUhRry18xn/3YWMkAgIgce23LxuvqYaPUSCau05b2GVbTMaKZNqzCzP8dfNvIVU="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1939a5f_1591901951484_0.18463806924547166"},"_hasShrinkwrap":false},"6.0.0-rc.fb5b979":{"name":"formio-sfds","version":"6.0.0-rc.fb5b979","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"5289586cb4114ac78098917023bcfd426765d161","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.0-rc.fb5b979","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-E/dNJhtFykZp91i62gG+vI73y6pBLVxDn64cElOnrqXvHeU4PgnupIU3EraQb0+KaHXEdbPG+gbtbRjSat8LXg==","shasum":"bcd95977fefd5e078d210357a84d4ba24bafd271","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.0-rc.fb5b979.tgz","fileCount":209,"unpackedSize":1237506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4n8HCRA9TVsSAnZWagAAMzYQAIAyjUuMAMslb32lZVd6\nwWNWPU54jB7YGcFKcIhjLeiUfUGtPjAw+vtpJWFR0mod0utKqlAwCVKjklQ/\nRuHCH6vfL17c0YtsX83a6ep/rlRG2VM7aoS1m3GaB3w9GAzMlHif9Jtvxtxd\nf9E+KGOEvmsc9q5Ay9F27ePxtj9BRBHGgUyNqb0LbQEvOyqP4pGyrnQBfcdy\nsTsEq5pfhUxgoxDbNvnf5oqpfbqVEOGbwOCrgl2IWK59msF3VjYawuf7uHW6\nW10F2BmrxxqKiXLBowmFwaBbeup7V6opjDHOR/ImxLwrp4goW8Hv7E6t68j1\nOnTRClHigCuSS6cqLeSvG2mdKdKbekjuWedGxxIo9d9/5T6VjNC3wO/lLBY/\nSnMWarMZMWSzGHEEOsL85vXLEywo65S6Gt2wPjpYSyK0NPJHhobZB48Nv5dI\npWMNWhue2pZAZbh5jSVv1B6BTv+618nWbH44XjU0UqB1EsRVT7N5G4yXXXnq\n8ALOxG4hXyGL5yTlNp1RNBFJ3XK/OcJFhQFCqM6NRolH0HmSlVEin83CU4ah\n6NOdrGZobl7G0Iacc5vTL1LOl7GPyR27FYZpEBl7Wu52xIq04dRFSNDcKnUt\n5aaVT8RgOtGsMpkqoMjAvOYaljjnS6XHy8qurTb8qta1l+8cB2uJ9iUkB3zw\ntgBv\r\n=SGEI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCASRq2xESZXG2Gr7cqjCdaHTcdzWMTlfNj3h3I9s8dewIgSqARoO2sfhhDEPTbZzOKRhmK0ppPQPfffzemlnvf44s="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.0-rc.fb5b979_1591901958586_0.2788326883685206"},"_hasShrinkwrap":false},"0.0.0-2668939":{"name":"formio-sfds","version":"0.0.0-2668939","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","i18next-browser-languagedetector":"^4.2.0","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"ffb8c71d514290f75d9988c1f359c0e795cc5798","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2668939","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-UFrhLmrqEwi6HXQifBqD8lYL7Hpwlkz+nVEsvJrqC0J5/AR3n2B58auNTC13nDGCyjdMe2GTe5y/cJUoiI/JLw==","shasum":"86d127f14bb7aeb1fc1e61bef506586ac53e6bbd","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2668939.tgz","fileCount":206,"unpackedSize":1231315,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4p+wCRA9TVsSAnZWagAA2oIP/i+W/7Q4a9g2RqLTGcCV\nHw86YjEWy8z25Qu1e2/eV6Cml/61BxnSfFUeCaoDBaouScnYpGPHMm7PP4pE\nvRhpVnfvvZhsVjz6ZMWhIR5kthbPZVWOX24KP30iJGOe/cZTHI6hnlVqWUpE\nPSsOP0DR9AFoXTsUCgKDo9FoOUymgIQ48ecu3YMlzStBBF0akakAf1Xe0aqW\n1XI2jeRN07SAZgyNtRFE2oT/qDz9bPTd5/dutZcoLdw1pOzkZNtZdBkUCRxz\nouiHm/YqOG/FhzibZ3GhitxgmswLLyZUyAC4tRgUH+iCLpo4m3dkKhHGlZkZ\nx5e0bBhoyYXKPpaPZ8nSJClp+pTUVDjNz/VWX7C7hRklYfS5RLfN6bag/r4j\nrnC+PELUDdGu1MC3c8h9Ut+smmonvby4HO6t5QI+TOBasYJF5x1tyXZ9zv8G\ntJDiIm5yxEtEE9h/yXbNwRcxMEE8UCnUxtSr5/trmJ6v/MbcUfGKNIUcytM0\nTtEBJa9kSAtN7KpWEag83BNL+fetGTeSFbs6Y5+7fGT2pHj2C/uvteh1xcw2\nqQu6QXqK6tpZp1uNmI8HV9GqptxSMdLg+wv+MtkGVaJmuPwjTn49BjRZL5HR\noAjkLG1cflDPcudYO0liN0SMQwZrcbUAmHMnVDe5BF8N1hiQwbr1AxSwykT3\nRlzo\r\n=qx9z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE+Wpt8uqZE+/1Kt2WnYR8OLU9Vo222eev0GlMDwaVSfAiAru0iq8rCdZOkc0Y6vbd1X2CO6rRh86wZBm416orHtdg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2668939_1591910320147_0.2822030952162695"},"_hasShrinkwrap":false},"0.0.0-7f4a695":{"name":"formio-sfds","version":"0.0.0-7f4a695","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","i18next-browser-languagedetector":"^4.2.0","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"742c953a27ee9e0cd0b6e57c1e03aa7dd5d10d18","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7f4a695","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-7EMR5yDgNUtDh9xYiZegiy19QfbXB3KE1erftKbnqOCAFpYPiZ74JOMpjRh2U10+jhwxRwOEfnW/ioJoxMd8ZQ==","shasum":"272b74e92a8f2ad899f731237d9c3ef5e82ce278","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7f4a695.tgz","fileCount":206,"unpackedSize":1231716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4qmyCRA9TVsSAnZWagAAakcQAJl9/Lhrif3uvpFIk6yB\n5aVTNICJFlTslLUNY59/tn+HWkxdBjaeFPjirkr1eI+ycbMH97JDLI10r10h\naMPyf7IVad5EFIw5tq5hNg0lPkC3m0KrcfP5trWB2z9eILsHRyJAiTZuWH4Z\nS9n4+2NHW9VZQ47UGICGKgWKXkmQE9ndI5gOTiH4LU7x9CEgchJpphubvLdS\nIMt1sfjEvWFIN8GK2izzvktibPNQ5ikI3m/V7pHLGLgwWFnec5TsV3n24wpt\nlc89WGu+r3O6cV5edADbK0B5jHkFwAl4W/RKm7zL2fYkPPOPY6Na7qfXd2ps\n/5X2+E67eepA3CRwvQlcXntjxiXDlcrm499m0nKnFhFZvZ20yA/WNt0hXb0a\ncC6z/sm56MHPDTfZM9NezgIBkhzuZmSQ5vp47D9adufb2aRNjiF7TxLQNPji\nkzyXjxad4DXeE+7rYkE2hX9FV+XASdx+arfBlea9YlE1d3WXs51L817jVmz8\nV6OYKoEdHAKvFOxY1cltMrt8opHHXPDR81JtewxQwqmBdIvaVsguxyfW/RMl\nHpGZe4/nKS7Qg5VDxxn4hsM8+Zd4S5+iMCuXiSLouqLhNxvlHRlplCKj4Pw/\nDHViEVdU+TDYEFRCYkgZxX+h+BxVvE5jXpXuxmIrkWeKwh6uXkunrIbB5/xn\nz9T0\r\n=xqmd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFj8ekjd6Zq7q64hHLKsbv5yaPZZ2HTJ4G5a5C44NpzRAiEA3LpS5ShS0RB+C5ZneFAc6JbrjhIW2JH0fup4R0O/MGo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7f4a695_1591912881781_0.9294192885492385"},"_hasShrinkwrap":false},"0.0.0-60ba292":{"name":"formio-sfds","version":"0.0.0-60ba292","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"0bca4cc93bff6d54f2bb8bf0d43e31e969cdb2f7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-60ba292","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-4coMhyI47bE1DKsU3xQ3DK6qC+Vtv9P6xHZOKFwaXEDN4/EXgpbdYNj1H0Q4k+iFp0r+JFpZVoyTGDQvNnJiGA==","shasum":"8053b7dc41a76764fdea1c5c6c5e858fdc874338","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-60ba292.tgz","fileCount":206,"unpackedSize":1231622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4qrVCRA9TVsSAnZWagAA8ggP/j6JwvdqUpKy2thvzysr\n/DPC95IxriJv2Lrnj/eAWkfGYcSl0+/4m4diV5VXxLnio11oWgEeXrk2a8n1\nxBafJ8/zUbslT5z0DtDOECj2ISxV7QQd9vBRSpOFVJoP6zs+83aCFt1CUYeT\nNeGGpGfCbLqmrKJaaqmecBXAqwl2sQDLET+ncILk23730Syh6n2XEF9i727r\nb3UVQbupoiHorn2SKJhViXuusnmj4iiGfNelJh6nyXcHm7bW/KZBkKf6bRF8\nTYCMYI8Fcf8tdbjKv/ksNJOfbpMfarGHJWEdfR5+E5bRNBd0f1ez1Vp3Oj/y\njSs8DIVHwcSnbd2zhenPxD5SzY00djVZyx3DmXk5DriBJ4lUtNjMvkRWkCQ6\n19DD0bLawKfM4YNG5baEdLt5JhS1DumUEaAQDA+fXx1KyC4wxijYi7xlpaHh\nfzOUqAxSSaL4N1288yYcV3PwJizLyG4rb24TrG1GJ6k30N/iLITtA+NX9n1V\n89PUs2JRhHYuBKKZxH/2ePmMJT9uimbi/T10/o5J87bCU9ZNi5f5+B9FFfKM\n3dJYlD9Z8Z825SoPEBJJhS0TjGaP7u5LMwa3KbD0/FAt+CTex1V3OrsveB7B\n+LqI92QwzeRoI42eYpSoel+zCtBZqshhQrQ/F55UQ3T4dEyjYgXJUoHu8lax\n+2vb\r\n=SG6K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYrelW6I0Hdu+7EhOjANUozRWVhoZeaexKjnVl+KRq1AIhALfYmUxLio69n4f7xZnBNs8I7ATe0gvlqdr6cdIRMTS2"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-60ba292_1591913172606_0.14803426540482367"},"_hasShrinkwrap":false},"5.0.1-rc.ce44423":{"name":"formio-sfds","version":"5.0.1-rc.ce44423","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"96b10c30a271d89439c9ac44a8d490f182cd2d0f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.1-rc.ce44423","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-8ecnfUl5yR/AS9eDuMDEslYm+ihXD9mLqfj0lgTbvbFaThYz7wIrEGX55Rw8NqvlGAmXW+Exz7HbXFbjJszHgA==","shasum":"ee1749df1ed239000dbe299d30c702246b9c6af9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.1-rc.ce44423.tgz","fileCount":206,"unpackedSize":1231625,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4qw4CRA9TVsSAnZWagAA4uEP/1oEkZtQbRQQaKlF2HPQ\njSgrszLROAW+VDdmEoiGAROB1O7bMap2dCkvHg/jYwYXC6eVl2xv+Pvd5GeZ\nEk0CMP8GQstLGUgx7DkxesyPdb2b88jkqrsf41TXvSF6kJsX8Kw2etybnfNM\nY/oGaM0+FWQs+MuhRlK01Vlmhu1YH5ICoNFUG+HX8Pv1N/xZSYF54UdtBQqm\nSQ97CEqp9bdvdT70MccfYYTfw+uefUI/5MD0pBzbHTdBTrTP9dJfdct6q0oN\nrb+qbu3mX1JI6PAoznLDKlR/0zszy7/5YLU5JchXrLc9c9hpM6FayEwUnx+L\nujfcwwMBhB6qN/U9Oztl8cU6sBSBHFnhNKR4x+4JOdkUVFW7YEHcqlcd7kZx\nvAMJas6vqNfjgMoOCK6VF2M5aQSLHjiKD+c0x67ktomX4M/CTYEGlqUDKLmt\ncNGtHNhsukV7hmBsE5vAE6hPfbQJ6w5/UZeKcdk9nvprDfwVXXhTN3/xJszg\noAOgxJiJ7Ajz7pLphSvh9tuhroitk/brXpgik4cOYipZJX6s0hiaybYluDKG\nDaTPgAg6gbRIL4FLW6rZjxCa8pNrAzFD2hlWVuHf8IeLTzPXpnDG8DAwvdql\nnOt21epSzCJH9SIX4PvA7OzEscsIXRbJ6gS8bE+nHlC0rS1+jK80vg9o+fEw\nlbtL\r\n=g1M6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaN3xjQhhSGdHRxku4GAB16Njz+rZDH5gBna0rD2XDaAIhAJunMZoCVYedquZwyb49/Y7sTi44ElXZahHTHcUjP4wP"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.1-rc.ce44423_1591913527739_0.3220313930383927"},"_hasShrinkwrap":false},"5.0.1":{"name":"formio-sfds","version":"5.0.1","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"37fd70767fa6dc3e836e5f605a1ea388d174d6e9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.1","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-SaQqW/fZLjsKmdH9YOXuQXtwYhD2wvjWA8dNrpzcn1eZG25iSKVzPPncaxn+62/Y0Jsar+BRGqint5j+cVLaGw==","shasum":"6e079dbe2dcffb55d4a3b801f3ba84f80e826380","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.1.tgz","fileCount":206,"unpackedSize":1231614,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4qzKCRA9TVsSAnZWagAASHUP/iHdL5DZoW7h41K5++ps\n2V48e2O51MBHCPktkcCQbjV3u7b6Ik0c76vj0o/iFtwp1er/Uxq+Xw82vx3M\nMpYDPpPnsCJQJQlFMedaaDolIpO47Nf73sV4wWIZ4kYmAUDRQiyQqUYJUPXX\nHxQkQT59JdMO6UJfwn6PDsquCcsROLR0X8Hsa1TDU2yopbOB9zioKIgYJiZn\n1LZcTPGdceyDzmMdBP01CMkwFbhCIAYRmZsPKRsV9+aO/ndBkL6A30tCmuni\nWUwxS6C596jun2j49Jx9OJduApyQw1Fe4NBaIlU+DCn2scSXr1bnXreQ9Ue1\nbFWWo0mCGsonoQNzGuxBpwPbrU3NR3c5bSAHus4IGAOCYEt9Ko3tOpe9wvH2\nOJ1KxyuzTcKVDgPpYyaY/C8efs89F5S+l6pDKqzK41ZoSGtW9JXgMQUMU+3W\nxZl+sBbF7ba99HuN35NOHsX3vxr/SZkvbIx157jYCjdbXILN4VVUWNuOtUuR\nnDfKb2YHo1IswlTgNtpbaqLt2aXAhw5U/4cs575gK3M+mIQeT8pHGhNMHRSf\nl5C4oEnNh462UOUN1X1AGHutu1X1FTdhQn6vSLZIDDctdGQVj5JL9JZgOVUm\nLRTO3I+HDLyAV3bxBdSAZ7AptBJg0BMR5Z/8kwc4ua8Nld8hIJqoXY8XNP/u\nNzy9\r\n=/rFU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDv7StxBbQogxO01IYmegub9//lBiEOHAJHux7CHR5aaAIgIRh67kOvHGWwbudOz1xHVhSmf0ySOsjxCRojsNeQiZY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.1_1591913673558_0.5349444849560072"},"_hasShrinkwrap":false},"5.0.2-rc.46ba3fc":{"name":"formio-sfds","version":"5.0.2-rc.46ba3fc","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"10b561cc017dc7389552ac9038b40a33a555f7ac","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.2-rc.46ba3fc","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-LOFXPgFgVvD5GZ6XPron/mM2ZfaNUw13eUl2AR2zSQwQcFvizWtkuxC2loz+SIB3K9g7D7DlHH+j1++tXO/uhA==","shasum":"a571c406bbcafd8438015bf29f057d594792bedd","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.2-rc.46ba3fc.tgz","fileCount":206,"unpackedSize":1231625,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe48OwCRA9TVsSAnZWagAAmukP/2hqSyAPnusq0SkN0pzP\nTs+K3y98NV1o7NHC5yOJ/i/5DaHrB9aiWWooov9xh7kYwo9zwGF+xCBGl0Vy\nDJB2w/Q4JXr89wjz1MTrEGlGhhAkT5AsR3GIgfXxpPoOON8WPTTd+MXnHnna\nCZACaHqH5vFjNLqLaLH2rYKGbNISeaBeU+BeW+pCS5mf0B9XSksVs0F7L+Y1\nfR0nT8Yt9nNR/9bf98CMG5/p7P2YqkVRzu5x03Q4rYkeMyle/GVj1c4ci4FY\nkoTb0Ctmb5E6gdjJZvRmi7m3+NwQUf9DMaKTcGBH4HMOoV1M3+ahmoPwI4Uz\nDr1dMDGStrtKsFfa0uzZkj4WkRGb/sOdGH256/H2j/TrwqkQBofd91oWXII+\nbIIdcIgq2NEKnYWSFHuQcdJ5/lmnfoBTx5VkP8OZPlzhQtkCcAPk3AkCCCpA\nnaiINDRL0LTwsGSZdxdOwa5fJbn6/j3SlsdRGjj+rwal57Cmm178aFsASY4i\nH5YyZb9TSLdzwIwVsOvwD07NfeLNFGr9Q7Rjw+iArtTpyLzL8xFpXnRLy6Qv\nYo5e15hpgOTvKfBjECPyo8h7zdL0sSfdofRADsUbYxgpNRgSBh2C4FMCWIGn\ntyV7PZvgL86oxvsCJNp1VY2nRjEerdsZmHTwMEaYwwtBcEHR0ByaUgvQKGk8\nXt3N\r\n=vxku\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDOQtR3WSWAmsEvFd7bewHGosrufPhH+se3Pk198aahUAIgOjH1D0kFP2qp4w6CX7h7iS0dCA4AmfYcNNbht9P/6zI="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.2-rc.46ba3fc_1591985071927_0.935489444666652"},"_hasShrinkwrap":false},"0.0.0-3d1d56a":{"name":"formio-sfds","version":"0.0.0-3d1d56a","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"514b44eab9d1307aa7e993c92eb15eaecb65a848","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3d1d56a","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-UncExDjp8doHIb/6CpL0XlAAVwnkIsPs+KCTn6H7Bo7d7mipgXPd00dwQQsl0fFKvWCYE93HqTKvfQpj3KrJbQ==","shasum":"7a170f8ed76b5ae193738f026f8a154dd530d694","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3d1d56a.tgz","fileCount":206,"unpackedSize":1231740,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe48S6CRA9TVsSAnZWagAA+z4P/1QSmLpL2o0Yp2N8JR95\n0pADbl6cNRLn1ifdvyFtM174px0DjFqtBGOy1mlU0Eo4geI9HotcTcrjlWLl\nIx6JtlravhexhBsgtf4Us6nv7G29Onu3vksMxVfNVHqLsTAMBbiotpd9rY+P\nJnWNH+xHcm3XTqMxIN0MgGGxE9TbSyC5TwFr8D9mruRuWQogdxOIzIwhuuNI\nq1/mknQ8v5KF62c+3DOVH7PRGPIEoKsWXoZg+sPjvVQJD79ehf3YlQc0vvP+\nmpC1gf2rjNj/aOe641QqmngDZpltUliX4A649XdgxZjRYrQFJgzlocIgUxi+\nilzjFpe6+eg9vwAAlu1oDS77CCyJIAwomX9+47JtaikCZlRJiQIvb4/kl5IB\ntbvz4dVuw3qz7/upnZ8uOdcFdPnzmLaivdxM8OKHKmyCcC/okdnDqmdk7klo\n/4hJ+XZ703bbmslFMlnLOqS+/P/l11dsyNfOinEWkrX0DpjmkJE5CIf2oN7X\ndaRy2w95h6MwaXiFWEdoD4QT1C915fpXCTRyh4EcKa/UEDFYC61U1RAzg8+m\nu1VFYS0ar708qWfH16g3Jr/wzczeJvL+yNUYRzUtod1dKAOgGQZxItd2JIw3\nQ3BP7uI1LGEbsqYZ4uKzjgWDLWAw+EHHB/BxtFdaKvcZS51cib+rzyLCiv1Z\nHTqo\r\n=wD0s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHZykU5LDuKBB9EHaKid9qCHtddOq5OGJSphDBKkywcpAiEAjl/v4NJ5O/b8u4TpyrbuFYi8FTd4bCvz9XQRiOe1Q9U="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3d1d56a_1591985338171_0.4861003939969575"},"_hasShrinkwrap":false},"0.0.0-37fd707":{"name":"formio-sfds","version":"0.0.0-37fd707","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"e75759185e701c12714c332bfe9bba27848fd4e8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-37fd707","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Jw3Wefm119H8QzNNrIuI2LGB06n+WoDZPa+b+1XZcG+MMIuykdU17jtXVZcmXyjPNXqvzFrNmSQ1LmQW4Gd7KA==","shasum":"baf397db2b7ffaf6bdc8eff4f46a1017c988d597","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-37fd707.tgz","fileCount":206,"unpackedSize":1231622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe48WYCRA9TVsSAnZWagAAv6cQAI0ZcVSxcDFYl7Jm572a\nw6++x1P0CQs1k8VqNXP9f+G1rYEKZPdIt+j4Cueq8W7EdvkHyU+SR6Aa9GUm\nj1AOuoEF2c2cQwTJ81d1q3Lvchu+CIjNIlQ9XjZFxPI3KlNuh4KvG1L8OPz2\n7mznH7v8HyU8kSMslRkZtRLmkimDsDlP+E7TdG8F3Uc2nAM8muVmyTM4asWx\nLxHhGZYD3DVx618KfmTREl/lkM8DsiXmpvagEUChAWr25bIYcfjV72wJ/xUm\nGJEsPf5o24Nicj0BSohY7oFUYZ69KSNtzavYf3hEZnBFuXG+bL9dqCBbxR3p\nI34ZBY9J6SDeCIOdnp7Kxa8ivS9/tKIK8Boa71Wsqsc1asBHU09JdT0FrLEE\neIWsxf9xK9taawb47deYx5zB9PJaZzsxDqc2CsUbXp3us/66BbZSG1Qoe279\n78rajl9N40vL1SS6/hhqqbHwfEkO9AoYoYnp1PHVaTnYBy3YZeWM0NtcUlDX\nmyWkTy7L2LUUwAl3YxA7hWca94DG2dmvKJfdX5FRVnkNGEJxGaOFLnxEa3tk\n4L7sTWkBphFtFttlpmGkZuh+aI3jsCggzUSAHMk4ktw7XK06puYEkNwYAdEd\nGzXcoJVBEL1xqEPGvhpE/IbXGBJgXKUz1011rQxZpHIdUDh52D31FTYlWaQp\n7TIM\r\n=gBw6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBIIMaER61Bg7CfTTnc59EJjqPfZbR1MYfSMUx+1z9/gIhAOeyeYGhuMDJBsKOv+J52qLWp6RlKh5JlG1sVo0agOFe"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-37fd707_1591985559832_0.8758008615624058"},"_hasShrinkwrap":false},"5.0.2-rc.f3a969c":{"name":"formio-sfds","version":"5.0.2-rc.f3a969c","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"17e5e9fcd1b6f2af93a9f2e653ee81506b102e11","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.2-rc.f3a969c","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-32h1ngV9h3ifCc71IUv4rJuz92DR6Fc5O0UuHW1IRpXsZ2JBdYGKPDsMAAYq6hBAL2dhuisyO8LzZ8MSKVUtqQ==","shasum":"797aba3ce3cb8783191f741bc7234a177be7b6f8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.2-rc.f3a969c.tgz","fileCount":206,"unpackedSize":1231743,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe48YxCRA9TVsSAnZWagAAeJUQAIWUpBue2s3Jps8VLitC\n6TZlDGkQpeOVHQoVwRZbxs39vywoHGYRtDzaYYTKBrn55mQLo5WMQndUTNVa\ndjg95bLwV8KX4WfnDCrNSHDOHcKEDOtmsHuREod/4U9ZDGGJu4VaL2FZxOjN\nlzUvUeDucwHxwA21a8bpe4aRNJvokQdFUzqMHmhFPJSwpbt9jk9AcDzVZA4V\n3hi0LA3p4EYSPlLrnKXfEcBEsV70eLp0nwflJ06M4eIagEt5GMPzGZm4ghdH\nbyVvyP9Dn3Ddc008uyBhLTeJcTZ9IWXBxufopgMbeiBEpURV7v/qU/VcG35T\ni5KsITZutK9axo8Hazoxaei2NY6A67UXtkycSPgNQXsRfLjxDqtF0aFoMNS1\nS863n1/d+Tusu+Jxrg6Jh6dWFlpOwz+ytLuOo8IgWA7YaOfxugbFLBt+vLy5\nc0j7ZC3xili9fDtXA3PPhjC/vzO7PzA2Em2GhIlti8EoaaB6muIc4C2mm9Wx\nsNs4l6k+yFWhtb0ryNylWqi44RQTVVRNi15wOaYZx8XJULuY34eLtrRm2uap\nEqLyhhZDKEam8pjVydHL69h8p4ZXOs1txVTprUbObKMzl+0a569Nt/pf3H2G\n25F7fZ2qCF7oRajZA9Le52L7CJb7ZoVGXZfxI5jTZsKJ1jNaCEOkpYsGIfma\nr4xD\r\n=8oZ3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIExfRWjn7/3G4u/uTwGW0CzmneeRaHnoZ9z0reMji/RWAiEApPjCmZIHVaxcbFKNnk4CVyY6XGp19TwT3q8eBDZYCNc="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.2-rc.f3a969c_1591985712438_0.34852861044097594"},"_hasShrinkwrap":false},"5.0.2":{"name":"formio-sfds","version":"5.0.2","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"1d7f16e32ff11103fba6e6db54d5c5d736cd1f20","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.2","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-zm1KKIa4mYuhwjl62SjbPIJDcxNAxP5UbhYDV5YB0XBa4PIAmtpEILOMFw6PLvIZl1We9U+7mmkrMUs0KDjisA==","shasum":"f8b157465f041272488e347f52aebce9fa1db58a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.2.tgz","fileCount":206,"unpackedSize":1231732,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe48bGCRA9TVsSAnZWagAANtgP/1eSyFtiV1flBdbjDAoQ\nNT0yqHI0HwuHvR1tlsxjPNzLYoL92wV7FpSb0hWziAEFGvKBB5oiLeZ+3dZz\ntmnwG7U2RyZ1XF3UOefMVJ7WBAbXLxxxRLEPVAFeadosz4Zas6uskZYEext/\nhRgqgp0APIrsHba7hKGNNKR6IIrjVaFRQWw4GKA1G9XmvzfkqPYTi+mZQKTH\n8c/VKjn5CdH0DOl28u4FaR3jVP1TXRYARNqAycaCtgGglJpth4DGhNUx+Ze1\nF3Fve9z+bcT7aMuxV+8i74TpBLdtxP7VR0UMMF2Dd4kPtwcDpssPwQisSe7x\nJIIp8+3p2szom16tu6GcI+SDjC9cHtbTc7k73ofqcjwqc0EBiGTjqldpBAZs\ncR5gClSh1c35qAT3Xn0AbnMH3x5r2P1PAk3bUU+TrXvIg58ajF3BfaX41rFl\nUKxzOUspUGKHCewQGN+dMkOtOpP3EOhzk7K2cj2QBbfEqvAQ3Xmvz1BFm6ip\nlS/ekpAm9akBhmfbtDIBsk981ilBcDxkuXrxCzF4liZ8OTR9H6EDEg7+OEgZ\nbwkfljq1HLPWbBFB2jRrcJ/sChURxBAYDlVbHJAPaiVoImOSTzIdXuLyuu7U\npSkviZEAbp7fPIyWuR418Cyzizz2KjDoMsVKIcKQlZkJo+2ihIUBwFFX19Vh\nLExa\r\n=hn7v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDYwXP9Q32ocUSFSpfxTrqHZLZaDSM+0LMU5n3BUuKfwIhAIB6xpZ8KRxx7H1ngZYvwOdxK9ybYE2WcJ5n1ASCR23d"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.2_1591985861849_0.4208122466841784"},"_hasShrinkwrap":false},"0.0.0-9125760":{"name":"formio-sfds","version":"0.0.0-9125760","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"8e273dcde637ef419d3aa407731fe4cac1e080f1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9125760","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-2pezk+HRapcqTiLZammhpTCjd2ZjN81Bi+ds3/VnRzIsBn/Vzioih411oM9nRTj5eI+auKXOPsFBEF0/L1JZZA==","shasum":"6493e64516cedd4c02ad8dcc59399536e0cd5fd8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9125760.tgz","fileCount":212,"unpackedSize":1250584,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5+0rCRA9TVsSAnZWagAAKuwP/3vz8VCN2Q8vRQG2sopq\nV+drSUkvTUWP2d3DWKZ7bJxByT9xqbjfya9dNrndtwDfnTT3jktWRfV/AY3u\nVzlM0fi+gk+lelY7OkVQ7R1NCuuyi2VBc97b+PvCEEY+Ka3QLk1qaynae1Qk\njoMQropjq4QbZqwErS6rrgtp560f1gL+iKQk28e5bYMVG6ooG+qTX1Oy53dB\nKgNTkFJ9SfOkquYbd/WC3ltmNjGeaanvC4dmq+c0bccQfkfptZ7MtHfq/Lug\nI22VAw4CJsbg0iimm8P18Rr1vWD2g6puAFckW5zUrYgMWmJxA/kLXKEsNWs1\nN1ZyGiHQuyYYVWI6AlwSfg1quiiiAxRmHBMSBz7DkIFeTYVjZILR6FmE6DiM\n8odw50mlxTgqBiw6Ae5Gw0H94a8sEqA2Vl0r6/6F4MqGzUFJ1puMjp0ENbHC\nCeC2onmryPJXrMAYZpzovmdrxh4ZWp/mBX3YtcszevtItc0/GpwWMnmjT0fc\nBNtQnZWRSjfsyAUjg3XLJ4GiYn+mGmy/NhMX2RgIv4G6ofKz2IEvvAq76LNQ\nFTELxKNfxFY1eAA5LEsEKwoHfRcNVMXxpZC5JCQIZUxKeHxkWeb0ENQ3Cyzd\nJW67WmWTghzemzVmJzCDS8K2CFeylSYyZNlAmTwrUnzhqsp2A2X1Az+PzAQa\nT3Wq\r\n=hfhl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC03fzdNdWJGHURUkSFkdgC5WpCThdBYCQ2RVzxVn1gaQIgbme0LlvMjsVd1Xt+UNen+4LcxQj4fBaY0NnFtELWMxc="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9125760_1592257835210_0.25015107493564415"},"_hasShrinkwrap":false},"0.0.0-603ace2":{"name":"formio-sfds","version":"0.0.0-603ace2","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"4f96b519b6b11c4d526b4f62b1aa50af1f70ca23","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-603ace2","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-DePvU/CvcEvgc1Pj7SVeVeg+wURL5koqFXbSknixOf3OwVrZGoRkgz/OEHZo5uyyzpLjz+kre9Zv/Ua/Z7EjjQ==","shasum":"193948085f4f2c79a0128db79ed2a2232fed7c0e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-603ace2.tgz","fileCount":212,"unpackedSize":1251661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5+6NCRA9TVsSAnZWagAA968P/AkSSJr6dZVdt4lzauGk\ngqNinKrzGn/CvbFokc8rHsTTm4IV4YAv51fAh7r+/DE5XfWJe623ZbR78gGx\n9TST7uXWdoEUurrjYFqI3Jsj/TOWBDvyBvO9AbRjuzVcJYOfoJpGRbkdZ5KZ\n8x85t+gNvjQSqN8QsGxMpL/tHszxJHqPKwWr3qTNMYA0sRat50Cf8eB49zpB\n138B/OFZCkidGnr3qSOUrPS5k9xWsiDUwSDcJrxRFtiZKeu8qT7OJde4CTNn\nZP/IAs7ZoGE7IrtkaamLQo1VTmOXu18qmXT5NpJydJsThMkA6Hbj6eC25XYW\n2tu7gRlQH2/Y1lEdvWH0nnWlBtZfKdQL/BJzEVorAZ5RGXBRaf9hCF0jaHSL\ntifFrBYo5wQ8La8xGxQ59GGdqpfIVXwqP6o2ijgD6x1DXrTQa48/9KpVXyog\ndjaDeE9g6fjSaH0HiBOV9HRWucNRVSOVKHJK0VNjTpW7p6vFESIbplxrwj50\nv++S+y5IAP+KMUIfJ2wHSng+K7pAs7i26TxUPsbqcuQVWug5lkHv7RPWWdTO\nYcS6VQQ2yuK3cyDq09zOof0zw0Ahna27QfpWHLlyDvCqkcEbFCIKt5blLX0r\nwubQC6RqhbKgSee774jS7CMdIjnXFjeYvez4paq6ltB3ShOh8V3zqfJrkh1K\njAwH\r\n=7oaQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHJ41TvVtKIYCoa+7NvrbV0nF4u6bJp/7Jk5B7UiOFLwIgQzRXR9wSJecc1ISrX3LkYsIAbs2spTH1rNpPuZND3Dk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-603ace2_1592258189440_0.3855758723670426"},"_hasShrinkwrap":false},"0.0.0-0b3d0b3":{"name":"formio-sfds","version":"0.0.0-0b3d0b3","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"173c896086bc20e60a8a8f2ec7c88efac4bd994a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0b3d0b3","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-wP5xofitB2fWa7QGD0EHVvQHqvjfZKq+OL1T7MS22dqo5eBhwBRHRLq83bp2Dzh5+oExA+2MJKNWWwaI89x6eg==","shasum":"2545a89502863b12cf6328b143ab787f91179b37","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0b3d0b3.tgz","fileCount":212,"unpackedSize":1252522,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5/IcCRA9TVsSAnZWagAA9M0P/iu/hpdU1QbkekVT2phk\nbW6X4lm5+d1yvL0IgNl2KkeyuhDBmJF8pcboHbHFIBuvvWkdUPAeZ5o9iXPN\nPyvLiyGFL0W67oBVveAC81ylwEXQ4T6KoR4XEUYUnbtvWlhzRmUbbjiiKJdk\nafZSThc7TwHqgKtddEtF0mYLyNtJuCvHuWGMsIWyvvXQg0UfBbuGOftD/CHd\nf776hprJpWzKRDw339Mim67sW4jBk8h84IDdcqJkmnkcG59YH3ZMwL1jmWTc\nSmQkbJfIS30huhvZZre0InI91ezeMoZkIt+FFRXlOUKY+UU4zmQ3gcU3kDUz\nzQa40MWzRe4VYmtJWYhjxNQrg/2Ha7ok0TcXTJCGXPQ/+mzhRbooH1NDxJnc\nxBib7q15Jai0E0AyaRJnV6o11/PfegZNmTFgSfo+dLka/V8OFvnAIvVjdeno\ng51Rszc9/zvQvmXxPsN5KzaMMJz01mQv/1mAnZVq9cZk+RSjdpUCCxbj0DVo\nu5PsJn1+pFGM4Zkp1RLZ2AZI0pbwk2nMnlZx1dEdb0QsVYODjVVqN9O5AwL/\nmFv+HZodRc7zE8OWzf6yfrW3hLOKkuEAoyjfUfdF2vVPmPMBAr52lk13JT/b\nhNNeOif37C/GNBKeouxM2JBSVKWeRTNWgglfI9RctS8jKyd1jz4W6lrhzFbe\nKm21\r\n=NYqB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyclhhYvJin/nAbpF/u7Hm4Dtpgau3K5C7bb9IzbnsRwIgfHgUfQoKA14AtBr8/83uib7K5EeQJ4Q7azVqECGesn8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0b3d0b3_1592259100453_0.3954462611049341"},"_hasShrinkwrap":false},"0.0.0-c5cd791":{"name":"formio-sfds","version":"0.0.0-c5cd791","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"9b84403783d1399a800b527bdbc6919018ac622e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c5cd791","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-PLaoZo4rAiqkB4/Wy0gjWlO5bxiNJbqTqIbJx21AJnHqSrML6Qf6oBZMFJSEwW/8rXpS6pNATkFrncnetavjMw==","shasum":"0f4234da693bc811f8a14882b37036dcb166d008","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c5cd791.tgz","fileCount":212,"unpackedSize":1300604,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6mBUCRA9TVsSAnZWagAAbHkP+wVASwmwllawpIP1h0l+\n/i2vc3D3yBiPiDdsfV7FZaK94Y1/iEIKfdCf2rDmGTqgOCFsnVnxKGVQYvCU\nE22a75VFyRZhsj3sPmNqpO+awp776s8JENJZGAC7ZtjvmTkz+hgvxsgzTkL1\nDDtsUNByICouyDU/nu3PDKNwNvxnGvSfcQbqonEKCom7771X5l7sxxVQH0AZ\nauMIO8n2NyQueJT+FVdSiCjaqMLYdLIvFuq2ne2cmyNsQjkg4ei4Efsw5wOC\nYjyE2KLnDPXAs+gsDcJfm4Ea24n/Ee6WFxjRYObmlGE3PEFga68SkCmWyqi6\nuqFmjGxI6VzuynJS6bPAjDdkzI7tBu/QYDdygZEMdJNh4IsOJpPw5/navtSK\nO67vAosLYePUFiu5Nd4bM0s6+XWlW2cdS6J4xDpK2tr2tCXxmE7ULwLk3wKI\nmyhQkQcq8H0RQjTcp2Y2rO5sLmWTe20df+rJo1bNGwhuI5fYIJQtW0y97lfU\n1BjFkEgOx+9TS+ZouJywscTxbmNsAMZCPsNMAQYDHrg1u9CP8Lh1qJPkesC3\nnKw5RYSN+uakbWHjSJQl6/yAdB4fk/N0VbnYVM0rqiEDMHLK0tichmLqLqGl\nZEffybm/KLc4hYVuRDXJv2lJ+/tZF5GSSHzYasYrHYQOgexHJNi53Wn9fTIS\n0smy\r\n=1BFJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuvWo04OtDube4mGLVYzNXapYduIp9/+ykqjnJL8j7ygIgXx5zhH8i/j1KTH8oiou5R9lLtWVGdaSAumDWbEPt2Gk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c5cd791_1592418387400_0.6912734506761895"},"_hasShrinkwrap":false},"0.0.0-df1d08d":{"name":"formio-sfds","version":"0.0.0-df1d08d","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"3e03522d204048801c0bd73ca27023f6a0c152e6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-df1d08d","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-ZeSarOlw8r1NgGzaAGQuRsmpZRoK/QbC77YoypZHunMw+W17QctyeCnmQ/VWNEikFy/gdSqaWEmuURnf2ReGJw==","shasum":"110acd6b59fdbbb27f94a775ae855f389a446031","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-df1d08d.tgz","fileCount":212,"unpackedSize":1308600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6pVSCRA9TVsSAnZWagAAaCwP/3s1Hb+7u/wbGxZFmUhc\nyVbdPIT4ncrNwN+eC/BhaQwl5QShiB3f27FV2ZLz67VUw7lWb3481glhAYI9\nRMKT4KqNszEWr9dqNdiOdTW/mLIjSsJLKPiZl73vvbCNrW74dP/LhliofLg0\ntzIODSnNUsn4KoQvplaVRa5hpXZA89ft2aVaAFm/mHdheI3qv76+3BTGnbzc\nctRgk+M5sAQZnDan46csdlBs+ARQ1hPZJDpnJLJRhfevfgtFcr8PecPkws1w\nvckUZjEN78SkK/t4dU9nkLp5/BqxmlT3fauKtCrEUkTSzLFHhadS+Jf66qPe\ncDTV29FWByQ/2HmMhsX0wYUOwTpQvklzP9yoJ9oYT2UlEXKSAYsbQmwZEzpu\ni7/jcPdVppnkJIUvFruptFB7ve2Q7S7UxiCfLyGaas4vcVC1Sy6SS/gpe0xD\nbu9aehc10W2+KpTiz8g3obIQfheC0ja7nWvFVYDTSbyZJIeowSHil/WuHJJD\nN6YvxuXA12AhosEyLlpaNP0hiSU6sSUBA3V+Jc7BkH03eWTPpqn01dPPgXX3\nUjT//xNIbFHclbxekX1D5UCtzWc/oNZle8DH/+2QCjDnId41JvrdVKoO2qdy\nmLiuguJBOd8plXyFdo6Jt84LVIMS20AE1QfcEWZTLu7bgfoZXTR83WsA0fZL\nsyqw\r\n=TQtS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCf37jaNuW+bGN8w+DmGuUuzZilOj6n/26Nkh8KUJtZ8AIgSwqFZf+hXPutXp0rgpoz0BQanLaEMnJ2yJABuua/smI="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-df1d08d_1592431954366_0.2112887871710587"},"_hasShrinkwrap":false},"0.0.0-098488f":{"name":"formio-sfds","version":"0.0.0-098488f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"5819913e3294be2197164bd9a8ea2c101b1bb2d0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-098488f","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-7SlccS5yvAFYxof6V4iSGvrd9VMBNHul9xfodYD4RlV/aPFzgYQrMdlbfv4T+OOHlXORVZ9wMEIZ70VFyRCRtA==","shasum":"f55d69d40fba99c968c2c7c90dc9e0c06511ccd9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-098488f.tgz","fileCount":212,"unpackedSize":1310399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6pzrCRA9TVsSAnZWagAAA1sP/0WSG1tllz8sdYCTGu1a\nZMSrAVWW3YhO51tJdpCHsEpnL4yP6CJCuWp5HY8/oegNbUcmKZNtf+n9oHpn\n3/eOQ3f/D5HnM0W1loeBCUuMBFP9y7VomSOKW7sfA8CeegmDLfpM5neM4Xd2\nzum2DYG4fDUqFAJRFyVFi+dFk/8jd6C0FD1/zwfH++PvULfiShGNcxZ2m0YN\nfn5GAMnywQw0LHC/hdM9BFxMmZwAz3v/+N5pAWpBxZ63e45yDEW8utLS3m5Q\n8ieJaFpsaY7m5KQ26rI6AEMp987bqZIgcWXW1uQfRch9uNrkqUqzGN28rjtG\nOu0LK8i4Dn1FRgR6A5ZSvrqe29bA+ZTakeS/+1CA0kPjWrfFIxNQEnFD4TBM\nR8cJtJd7rBD69apDW550D3vWhkIAf2MkLAXTRi1l13a/r7eIj3IsoLvH3qzu\n7MGDlFRFgwqEtqv9iiNSLHsH/qRSZ5ypxW0Pue+5TsWXrxLzlVzC1bFueEe3\nN81VCSy3MS5BU4BwoutqPA8iQfNzulvjyIFksu3n8TbKuUPzhxlRDhbwp2yG\n7VcN6MvuaQjH6EdT9F1MmGDyOJA/HExMNoiubskWbLTjYqeVK5yyR5ksJJs4\nnHseOCpG9swvf5tQFBlRw7usdCCbeAuQfgb2IrRxn0+suADjDwwtGzRiAA2W\npbrf\r\n=GVtU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpqxGsQIoNGasBN7PTVAzM4NbvKjwxSqBG1W91sWzPHwIhAIQqN0dkq4yvVzz1KYJBmhRk987kuxT2n3VvVYNf1log"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-098488f_1592433898769_0.428403855417004"},"_hasShrinkwrap":false},"0.0.0-fc2aa9a":{"name":"formio-sfds","version":"0.0.0-fc2aa9a","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"16d69ab7c62f580825b25a00f8d4079831379ae2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-fc2aa9a","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-fVIcUxBAGEjn2LAuDIziUxjHX2ntZ556xUP1+dU99U/Wl0gfmt46HcprAqv2ncMLwF2hz+C7U6/TXEPZ0bELCA==","shasum":"fc9f47568cba7d5a67d4f32d8abb25fd666da5e5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-fc2aa9a.tgz","fileCount":212,"unpackedSize":1311902,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6qWhCRA9TVsSAnZWagAAahQQAKSdkReVpyvrSe8YUw+M\nV1jXFcYrv1BdosweHaKNo+KeB4oUZzqeteAj9U5oY+Nk5vmq81UTq7wGhViJ\ndtoo/b70VOhNc4CStkTWnBssuA/blzvmduVfrs7OmOUWz+etiv4Fj7zLbYFq\nMdSTOvidwxUfKSLux8xycRUGudDkN67gxSkWeX48BBN1UyN77914nDsq6tbZ\nxR4HvG30DRGbR63oGLaUv9BIrTgn6CGHNkFn9RDPvwUV1CoLd0PMpCQLVGVd\n0FaDFWN6BJvsb5QA1NGHYJOvj3OnD7fKg/Nrr1TnTRYz4i2tZrtaEMvx/g/9\n05AaIHi7Tc9ng2/kPeBqB+KF+VB4B4vnUZCxSgYaC7g7oUsXvr4uXBcUqRNh\ntW5XBXQvbCp0vlgNRCFSCU68VW+f3jIs/SEsiSGKOm0idETDsfAfDMDhVeta\n5gYNgX0UK2AIDWxPGSWWzCe8Cu14fog1micKBU7IPIxF1UIV/ScasptI0xrV\nFI4dg2qv7oOrv7JHKPFQ5aQOGRHbOTI+xhGasLdlcEkuEuFKgESFUeB9Ppbw\nUuwWNTxiWA/JcGomTL8Q84fPKBDOTzpCDJcXg47HfCUYgcBuaADC/Mmb50oX\nSLi9BfoWtWhkMQiK0on5DyaEk/tuJzA0X1NdgTeenIb1KC8arl0XqkkxQknJ\nKjdR\r\n=JJg4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC063YRJMvVLQT0mfuyjRj/mhw8J2w0V/dbMwf850JYdAIgIak7jtf/8V2hwLFwubYwgPO3XOaGbHdYW8x0Yv1S6t8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-fc2aa9a_1592436128973_0.9220627193470858"},"_hasShrinkwrap":false},"0.0.0-d5cc62c":{"name":"formio-sfds","version":"0.0.0-d5cc62c","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"840b617e460b4556fde5fcc2b46c4d79de96bb0f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d5cc62c","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Gv376ecWgllpeAAY30Q1W52c3wF1adgFAaaZldUXNxoV3aB1P7kYOI2tzJr30IbHA+APGyD81H4QVP9mEcrkQQ==","shasum":"b19618dc02d5ec6784a2bbfb811d8ce4d007cf7a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d5cc62c.tgz","fileCount":212,"unpackedSize":1312130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6qhlCRA9TVsSAnZWagAAr+0P/1Q/K4jMhYYrrgGjBhP5\nXyJT5UOQ84wZPPduZAuTwnVBB2kBlFVk6TDPp4pbJlJRxGdASdWYPTyNpQob\nqwF9gnHII6bPduViZpCx1TRM+twzbvL6nJ0fRj+SEnFhczik0GVoExbkUHgK\nKAxlMXO9a2JKYu8GoiJUaiR4wrBjhBkYLXnN/I/0eCFbM5cOasfLJUKSggJn\nMWiD8sxRzsuJS+iNQD8trdQeT8or0yvuixIWEekduzUjZzxSN3wWex2BbdQi\nZrpVNrEohpBsvId0vocSRae95lwM+7xMy3kv4J0h6jMovnTJbfVEkWZS4m4f\nDUt5s2tPdcvJPl2b1fBoayHfQI2r/m4iXDr4VLuTGg5NHfwhh3zlF5kejP1l\nKgdpo1howUi0EXwp3/ZfJ/hYKgbSnwwyw7zprYkmBM511AP8VNj6ve8xyace\nMDYwTN+lODuaM5z5ze0hbWnEuOajrfTiA7B1Gf8Msu6YT2OL2hsQILkiTKI+\nD0EC1r0O2AgV80JY9CWXBniOx3XFOqps3ugXq03dX8SB8q1F86voT52dEq4R\nQkS57enpyYQbMq0qAu5ZBMrr/rao2QDKragKpg48OhAS7uZu8sqaBKx3I9uC\n/pxd5nKCMou3wua2TiaVXqocflS2kxiewUJrXjq5BptceVfeawVMEXD3wMAq\naNqw\r\n=yScl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICU7gFXdVeXmKTvcCyTl2HqzsH7ZhWDP8BvRY2XFICG/AiBPhx3iTQWMrbm39fOtM/nj1rEkRE6LWXB98oQtnBGeAg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d5cc62c_1592436837139_0.6213418081490716"},"_hasShrinkwrap":false},"5.0.3-rc.c65a7e7":{"name":"formio-sfds","version":"5.0.3-rc.c65a7e7","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"d4ad52a430e6864338285acac4ba40e3436b34ec","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.3-rc.c65a7e7","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-WtE1lElYxl/K26VIIFLOdiE/OWdJyfBcEq1W+db5WCAV7DEneFEkYGK346VdxqTLRk6Cxdbq5fNjV1nhPQC+dw==","shasum":"a94caeaa205fcd99dc237d19a4fbd3547526352c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.3-rc.c65a7e7.tgz","fileCount":206,"unpackedSize":1232037,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6qiSCRA9TVsSAnZWagAALKcP/j0CuICcWfC0MUCrswsR\ny9E2aeKXDi9C+vc3IlNERghFzKc3ZdA/s5chdgqekoDFlqksE2nxPxyGunUF\nuJX/D4q/LyxeDtT4MHy1Bxoz9rszLncFq/DytBM4zIqaMyk7+4uJoC8DUapc\nlGW/+MoPNUmTkvtUjaG/skIkhC2lhCtRH7okeq7zSR0T2gxgqaQ4QnLp+F2A\nggvs5FaktbPXdnmcNw0NECocQw54JmxznlQZlGtcNL0cCHMDwH97i1PiN85d\npY3BmVmaOf91tk83SHXR/sXR4kckMTrjthWC2IBnWRRKwZBpHcvTjF7wO+Y4\nrqvqviMU7b+/W2/VOTFmfYnlnjN1eqByh/zIkFDAdHjk4cBi7WqI93eiuvlq\nzbMeGeodL245oTcqBXDc91GsES/FQchVni5tLY03/VNElRHEVCU6LOny4Fj4\nOOv8sQ3jM8LSHyBtAlZqhS0cravO+aBGm+p2RVGD7EOJiiYAfEQC4Xc29FxM\n3/HZpq2OCpwh6/WIkothDFXUOXOhWrUaE0U91VpvPfmCiqvgXmV2U7nusv+p\nesPl1vIQarz+FekhkEnIGBEdOEz5y/h+SFrImwMMv3Ck+9fcSmuXS4Ug6Gop\nWH56MdUNqvkObfIL0lAiiZ9u1SfK4yfF3VRUHtfwwESXnPzJXsybGOl4NFUH\ngwkn\r\n=clox\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpGwUKm7urWvK97DSCxWjrPG6MfOCp1KsrgLZLRQZQvAIhAPFheiccLl1nRIU2ATyR8LZPAzjna1IGFB9dCQrm1YXS"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.3-rc.c65a7e7_1592436881712_0.521931709046974"},"_hasShrinkwrap":false},"5.0.3":{"name":"formio-sfds","version":"5.0.3","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"e2c3f8b576219b50f2d5975f470286402b91d337","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.3","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Iu5eRH08uEBf556jYUp1yYRaYi2tAjt7OQKyNuOimyXwejLAmjqLK7/rbLppTMxrfeUNDWUcLvQBrh5yLciVqw==","shasum":"258289a3e0ece56fad2b4846a57aef96a01c6152","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.3.tgz","fileCount":206,"unpackedSize":1232026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6qmkCRA9TVsSAnZWagAAqTUQAICsVV9bq3h8M83jVbnW\nOhORPXfksgHOKQkRWaxxwuLhwEgpRcNE0to6BiQogn9y7bAAgX09diDF53KF\nErnu3oIGiM0jrPcCocMlOIJk2SdO9wgXq4Sdi2j1Xqagi2xi0dgN7w3nWYzP\nOLfxfAuMEUNLHlR/ziOICa9e/yD+59dOWMkIukqOXxo+UtZH5MVV+NgCrCB1\nPc2LrrugOk0DCg1d/jKNg6kq7TmbouWCKxiawtmRaNhWeUWKaPXMmmQmyC2m\nSR9kq42n+yJfiPxm3BjR6z3qZJiXlKozpeS4mi9klqJ+ttRmXbqHb518+g6s\nW7MDrlrChepQ/rTKjNY3ugXVqCcXEjSMtPvmK+3EhT0JUv6S5CBOi7LbL+nU\n4NsusvYOk/yVVNYE7yuTkvWBPURFdugBYeUh9aL/A/f2pBm+w70oQt1lJMy6\nGVJhig1iHMq+UeoOTjAdO5GYW1esusf8BkqBX/pMKdjBfbqmg0e2er7aqTj1\nM+eqiMaQMB5FkYbStQiAvz5EdFRE8/BJoj9FE66wy3drnQg8XAcxJQkT5MKE\nT9AuJRKjfIxqRmLTmt7cjiFFaeVukBpSVY5u2fhrQwVOqsgPwm5RDvKeZiY4\n/yNvo6fDhqgwoqkxPA6het2fJrCvea4rkjX4aGwEXzbjRh+dcm6lh+RiRu1p\nXIJb\r\n=RR21\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDt0EO6YHaFLTHrj3N09lVSbnJw0b/HInlOjlGxkm5VYQIgfgBMn802gunXvPXcSudLau0wW/KLwJkA15lslmJHb2c="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.3_1592437155572_0.48811761176138546"},"_hasShrinkwrap":false},"0.0.0-d4a9dd0":{"name":"formio-sfds","version":"0.0.0-d4a9dd0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"891226cae1d62b7ee57273bdc97ff5f96ea044e4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d4a9dd0","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-41+F2foaVE8gH4MkWxDJftK1IixsItdwr/YhXtMfZhJIJOoRDBAZ1K0NdOUjnIs21N4447CRnARkFmkAJ357IQ==","shasum":"5ff5772c14e7a77277f29ced7097a7105013caeb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d4a9dd0.tgz","fileCount":212,"unpackedSize":1312165,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8PLaCRA9TVsSAnZWagAAVbcP/ixQEdirH61qsFUy8y2A\nD2/le/D1w14u9sxqTAwGApJ1kFr/B300Ekg9wIo1P/HanrL2RJ98+I3Ph0Rg\nHOOkF9bdYH5VoAs2jH61V8+NiE8u1MWFgmf9ojOwxuCfUmR381FOOx8CDOGk\nxuLIYV7qr83ZF37Fa+ejzArtz5cjhXpA+i2ZNmLjJxYH6bew37wFWLnzmOgk\nVKin94utseNY0Cmnw+UuCx26dSivOgP8i3f3o5dYqzhTQVR69VkK65IOkqgW\nfUzffVyCfEFm2KZlvpkZtNWBoj5YzEeoc42F08loMXvfPj/1YPrS8XsMLsTk\nBxOPryrUK2VVzMlky7kcQsp1K9u0tLJIg+gc8ZcmxefBGNxUlJP/tz9KwQs2\nP2+EjygEGKkIovqctgcoLEblo4010mN4E2Sx7DU5Vk3PGwzvLzjLArTCBqqD\n6n2zzC+lmWp+Hey8SH3Xnz/NyHvHnw2TI7q77AOav/KjxSkpXf0O/FmmrGpZ\ne4ML0kIHQZ7bvI6dR2BGqBvNRCgH6kb0A1ORs7DE8tVstYV/Jp7MEZndsVwL\n8xG1IeX6A4d0+Sycq8aasVxTWl7y6/2PnI7zew6Hiw4/Ftz7E2jlcoNE7cVR\n1FYi2VW8yfCZ4slAIAucsnsMoIBW2JwZ03a5xfITXjE+OR1mm71L/edhN4VZ\nU6Ye\r\n=dTh0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4EPCNhXMUEJiS/pAlD30L6esTtTvVnJLxhKN9DmKVfwIhAIc3DRI5wgAuQpGtrF5kxRaahdJSnN3xcu+oLc4sjjJJ"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d4a9dd0_1592849113557_0.48132600803343806"},"_hasShrinkwrap":false},"0.0.0-8925bb6":{"name":"formio-sfds","version":"0.0.0-8925bb6","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"a1815aefefc451d293ca8965105afd3ccd2f9361","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8925bb6","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-EHnPzORzxK7h0EV5zNevM60usjbq8kC8BPq7f87kDqTg7KbV1UphbDP4fCHaelK5fgwLskQTzsQlc9292opNyg==","shasum":"87c3adf72376f019191cce9099d6db98be954d88","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8925bb6.tgz","fileCount":212,"unpackedSize":1312387,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8S0ACRA9TVsSAnZWagAAYj8QAKH/Y3b7dtQF6Y2kpcz0\nz8bWf4LCwt+yc7PLxGAYFmvG6Bq0hikpx09yETyOz8J73q774FFZw7dzSQWh\neIrC9WWTcZ+epbk0D3YeI9MopV62z/olREui1UNhzfhmmZyVUz2fuBE72lr6\nvCaPA5Cv+kMLAYCXd3ozdwwVFZwiJ4E0Pb1xnJI8I1HXoj6crsszEV0ClU3J\nwfxHp6JPG7HJqruIZOVhv9NO6AwMZpQSITsWKah3TvJ3mXsxy/4yXmtBYqN1\n/vOG4uE+JWilmFRhNh8kSoBawfZ6RheusN5rB3N99wVUITaLGTH2EN8ofD5o\n6Z9bXsVyin5UL+V1sbYq/ZWVa+xk+2GoU7IE3cbiKtcPfsM5ufJVHzZHAxzM\nSlNErXPHV3Uwg2KOv9jUVLFRkrVoGqxIBYsg1qCFzxi+wy0jlVPLN9O/UeGb\nMNdvuN8ZFB0bViYV3uzZmgUMfWb8SwjMzbVjWlzgeULloTTcZex1lo3hXWIW\nbVlhjEfY8ucknzLFXBFCRIAE9HqQ1T40G7sWhV6L1wAJplRZVhe8rwDhBim/\naWp1TObPyrNUxl3SMzFdeiLDwt8pbF4IAnvSmDy3JKfVP/zO+BduF4SD+Ryy\nHKoOf6gVAKGilcCI3wSazmuFpsH3U/YCMo+aOt8BTkuJj13QB2TMDesRC65p\n+SZy\r\n=aEWo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID/pM2pW4Lrparje1iU52jP93Ecu8xjavWKbtCvy69ElAiAtFb74Ak5WiwJXLVV7Xbg5ac8usDUj2NBMJ9v5pkEsfA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8925bb6_1592864000314_0.023169748342797503"},"_hasShrinkwrap":false},"6.0.0-rc.5f57742":{"name":"formio-sfds","version":"6.0.0-rc.5f57742","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"dd6b88de72730f1c1fe1db7c3d354f6e3c6c714a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.0-rc.5f57742","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-xw5DTS39uEfgL914mn72g3LkrL8jOQ6Wk1xA+VDXeGFJLV3oUC3tCeBjq4jCpwPv6+x/YA5s4vaM8GEC1lDbSg==","shasum":"1b018f7d63cd79296dd448ea4485e0452376a897","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.0-rc.5f57742.tgz","fileCount":212,"unpackedSize":1312390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8UXsCRA9TVsSAnZWagAAqcsP/2zzH9oGO6faEVT2ebWe\nXb4LoEPyecP5DXkLz0aeed4jR9BSOsgclwVxEv+JB0xmzIYx+vPe+s038y2l\nLObiYfIRydXYXaxE6kEZWs3wT2C77zrH/7Ow1PZ7ak51XhdS39MaCRkWgGXc\n9GCg9ccmRtefGshpQ5YEKdI6QV9FAR93636Yvmm5x/8X8FdQUktJHLQMnWnz\nhp/p64Rj8W9nHqGfVisFEI9o/RTJu6rAB0Mebv0RdDBX7A//0kkRhjTLgXER\nqVRien7hRnfPyiSfZvHW1vjO/0n+HHMpfSgea8PUI00p7HDNRS9MQn2QtFVt\naaPrg7Sh4lhHG4Jqf8GNmooTy5WkGTYweiui1eU/DzumGcQucQSGJd7b6JZ/\nfYRQvdDYz780zXFb3PAvxKAcze9aEaICgsdx+YjzL38gptAc7JEHBRydMGVH\n3X3v0rlAeMEnj5WA3kiswByIrg39X/aGarMEiNm8U13nZa+7GnBreuxhU85p\nZZOOXLszmzmsQyWhwI6GSihH1DXDD72TjQQB+Rv60T/IqX6Xl1+PAqxmB1sm\nnBQl4TMTS8Tz/GrkmnpqZ38YYfACQKekyTBsm4OQCFXUa/TOMzNP9v4y+ync\nMnNg8tfjimOUbSgEmncsgBvROEqmwX+T8g3n3DyUW1vWlvvHFbtc31iuoNBH\neXN0\r\n=ieRC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNBMbg0EcUNlSOwkmChQkZWQLrmr4Rz8hvJ8nxf4EfAwIgIIp2Q5CWtijOO1oEQj51xi9t8v4eCc1HtHSXFgUhWYo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.0-rc.5f57742_1592870379898_0.6060134464033378"},"_hasShrinkwrap":false},"0.0.0-d8d65fd":{"name":"formio-sfds","version":"0.0.0-d8d65fd","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"6687aeaa8130661642586212a029f256e369934d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d8d65fd","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-j8cXZVabwkVzAaq7ly0OxXqG41HFNCqN4izUKXPEeDYCyxajzJY9opknA6SGDGIyY6fz1WeQNJlW96/RA2PmYw==","shasum":"dbed48dc8f0425867e67cb73e7a7edcd9d0a3798","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d8d65fd.tgz","fileCount":212,"unpackedSize":1312774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe87cDCRA9TVsSAnZWagAAzD8P/jDFwkTAgqgO/S/i7jP6\nJL+ULug95qqF5o8AtV2dub/N+zdZmRHY9e6qH3ccRWXEaAgoi5BtTqjvCj2h\nOZ91/r7GiHUS8r4Yl2d5J4sP7rDAR7R3AcsbKUsp05FGfGuvYFf+v2UuI6n8\nzwziF2it+/czu0Ki72cUX9WxnWLHmxCfqmlcomQWgURLwbrI/k9PEqt9iyi6\ngY9PjL7kig/AKf0xwnlC8Mpky+jz+hOOJiOwsN8AD1Po96Xp2UZA4c3A06VM\nzoV8lJN/e6HUSXce9YwBhCBRQyjgWdZw4ArEmcrh2vvk6mTALsqq2uc+YqXo\nRkIlqzyIZeu7bXK5E+O+9kplt5K4RzFT+IX6Y6N+mHmINjK975b4oAYgH4qQ\nEXzB24HhDyorXTujExGVBx/8lhJY9K9Jypti21AKoIbOXFUNT2syTED53GiR\n8pQ/mqxmYUOK1w/t7e0FLAK56hGXsL+fxc8IQp8cuErO5/jN/hsJbWiChl8W\nsnbjAekKoP+Z82mh9k32bDApc8AsLIt9Qy/jke26IYPSaCH7Cc5Ccx2msGJ1\n6nLyEq24R1MSZzB62S7adPpyR/yJb1phXcqfbewAkE6rxCAyHXGOzH0mV53T\niCLNcXSu2R+JF8na2tXTDkVBmJQ3X60WLpY9KPp6aOXWSbJks0Oe55e41CUX\nddbP\r\n=+zeA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAiCmHpOuPk04Z3rdHm5PcQNTigO04MnWG8rkgzmb1H3AiAqVQLM2pTcxfgjXPMCjAHriOtGpvdsSD3FtESJTEwkTQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d8d65fd_1593030402573_0.591302835067494"},"_hasShrinkwrap":false},"0.0.0-53f375a":{"name":"formio-sfds","version":"0.0.0-53f375a","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"15f74b0d2269de3a06237f87fe3b39047aee3cd0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-53f375a","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-17Tx+R+GWMN/ecMgDlmg2FklLrB5camJLb8yN/YyCOt2aOtLPF3aQUxhJ3KhxxeuTO+oymTHbDlRfsH10qxj8Q==","shasum":"04679ef4661b71b3b82271df71a294f0d01a6698","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-53f375a.tgz","fileCount":212,"unpackedSize":1312850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe87v8CRA9TVsSAnZWagAAl5sP+wWZKKahi2EUJNIsie0v\ncWaG33WbaZBj7FHdETz+kMSfNfFvup54QhA1h1RGRMvk7Ai1hGVVxQBYOLjD\nJTnuVEok3oArlVshw1/YY9wwznA1xf/v5QmMnBgSAFDkaKhI6jUqRuzpPyAl\ntXUaRLGAIXZ9VEhoRy2uXhqou+0yt1ng/thB1wISlYodd/KQlbxuYrFYG2n8\npBsd3zUm/0HWEex7uDObgLYoiMuBR9JlG4nH0roXfMOkNfp44wywuU0OVmP+\nQ+toOGo2YTRhUvKNzENSKetMVdGqH83GeP7h8zYizAC/OHtZ/S5/uKfof+/K\nmoYOHm4dVbcPeVEmUt9ADY0DwsIgBrN1QAtLvCxvECjDoOqyO0qgm3djQkeL\nZith88rrXUbb/zwJTfVj9OXkFOiMLfzrBTRvGzPKy03I4E8BSB8Sdxx3VoAO\nSLlPo96z2sNEuD6AO2wmGG17ZFQq6gOvU+ao8oEXQbfex0lSBh8xmO3yJkAg\nPPzizB0YlO2wZ/yrNuDfC79y+HdaUDQ5atX4IcEHtXjik3SFtQ9TbbC7jMsh\nV/4YVVyj2lZnSEyX9tHl3XhX7rRNPbnIxd/r2q3dubckaPBHlrup336KSTtE\n2bydxuLE5YZ3l9XfD67F5zXlnJJSOECvA7ZFus1Yi7gruEn/MSwrjXvLlvG8\n3FSR\r\n=XH3h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2B0yF8y/kNtEskQXAKR8m3ywpryrvHWuW1OhOaMPu6gIgTCwOCnD4Ovf9nhayNgrJtaKObrScYT5WUfq38RHxUk8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-53f375a_1593031675653_0.39601934004702466"},"_hasShrinkwrap":false},"6.0.0-rc.99029c6":{"name":"formio-sfds","version":"6.0.0-rc.99029c6","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"ea4fe1f4b93be16b8eaf2a287ac94fa477a56372","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.0-rc.99029c6","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-y1ZuQDihXeAJlD0qw4hzjXf7KYk0ZcVHJKPAqGZ88+cSYKDivkds2LwiSe+R0ngk91bBwxINNRl7K4eP9QCOSg==","shasum":"463dc6f60038d965fcf15ce8660e87fe8429bb24","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.0-rc.99029c6.tgz","fileCount":212,"unpackedSize":1312853,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8/uhCRA9TVsSAnZWagAABpEQAJAvz1A6x18jvRDoAdp0\n+ITojVE1MLp6tIy9BDK9PJ3977vyUq6ykkEfnbQa951ksV9k73tZFAuvJrMz\nmsT1MpqliV4arvdvoCO+JBH7gP85nrY1vi6bDoVHH1R8iz5GFYs9jojpLzWJ\nVbXzpeVwFC7lSTPhk7Hyj1t5iCcyT1zbt/ZlqNE9PWzjYgVmuMLq9rjfgvYJ\n8pp4ZzQtDu5u+SxSPBIzukFJP1tXGpu1p1aG5js51lasFp6dxx+QCFAgGBJ0\nirzCdhzc1iv7Z4uk0D07znlJIrOulUQmIpycBZMCx5LsZ/VZT1o4SP0KXgf3\n6CzOXmD1uBbqrkDq+vDMMti8qYADWjMvVRNdEGp0EKjiAprI2Hc8cSLklm9r\nBPcqSaw0ikuPSFgdA8fqpV0bhAxpL4EFeysUf+kfAPYel3XLu/VpwQeBxYrL\nzZA7CjtkPdSHk0t84WcIelor2baZzOkB2Gf8bWitVQGm3FlyizMzehMJ5tYo\nKlojq0DpG3DguVzlxW9E3snDDVa2WB53QKFEZt8bT5VdgvHJzorS8hkkhgRh\nYiOM72g6nLQxHKbQdoRsuSP1oB2Xqs7cobqlYWqTZYQMqI+ZYX+Tgy4CxzQt\nLJUoP204ni6M1o6XxGXg+b6fj48TOT5fciK7tYY4PIVkUSy4rw7wYhtLX9mf\n/8Ec\r\n=2RD4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEeo8FqQP26Dtc2TzIjmRHmFof/tYzYsLTxep6LS3P1xAiAd+m1Q7XrEXNz74oiZrGmQOTwuvz6xrnkesnD1CEg7WA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.0-rc.99029c6_1593047968413_0.25851271773780393"},"_hasShrinkwrap":false},"0.0.0-574840d":{"name":"formio-sfds","version":"0.0.0-574840d","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"e4e6944ca04e469b57506c7fd7a0b497a6362d55","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-574840d","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-wWxObNomme70A1RHszT6TUP2MeSiuYw+Hp6z9nz022PJ+VrAkQDDgqcUL2gm8/xIhAEKgTZjVBYqCBMFXMmcOA==","shasum":"d8781054df44540f914884e4411c15dec9d770bb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-574840d.tgz","fileCount":206,"unpackedSize":1232256,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9QHXCRA9TVsSAnZWagAARLcP/0er/UiwX4X809mi6FFC\n+gEQsvGK8ZljfrwD/p/oNJ81dUbhyRhxZOi7Sg9PdYUbC1AtHe0VWD/i4Bk5\njKGo9MeBztQ2mDPt1sUO5Ku6+16P9uxfK/iktCXvDWc/f7kGkO0iB5dP2hBy\n7v4BwnLSGr0bBMlPo6UcpsVekf2OJVwXDbZhf1WNKXVG5p1ayM/wE+QFYdux\nwqfAQchNtI/o0y+6YPzVW9IwZ4TmL9p6boZi+qyiolvxv4E140Q3+f1hdfic\nwCDyV3maryPO8XOe1X/pNauGOPA0sD0oD7bEoCGCw1XpTRl7GSI4SorKfLFm\nb6jpsTigo8lRjG9TdrJkMohlp1DSxPzAwAvffPn95h+W0OVXmFpwwUQWzapX\nQ5dJiQrKxfhtxfOArk2iaVDuG+4em7yQin2EgW7+yqp2S2gqVpNk0iH0U2ll\nF7WxDI/FTTYO24JG8MzkrFd6ktfnI8eB7fO1jiivY9K6iwvAhR9cKzAIOWNE\nSOzWkJhSU5IWsoAz/TiswIc0Kw98SsiLeYsQSmIo2Yv1jWBkQ4KbEDZd0cXO\nzcNagh0fyrzuu3YAf5zkqCbT/40XXTKtZKkvNsrTtZHU13lOH9phprdr8sVM\ngQOrKA+ld/O2GmlOtLyahXyI9KkHYOup+gTj2l/GnvbXssE8igRaimzYMcZi\nPPSb\r\n=3RqH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7J8/YjLDTe+TLCOfdBnFTz6P8oWtAHW5TfEtIYJItuAIgXbNqkgsiyZAJ3Tcz9j/QKdFBanrSG9197CLCUZ5q7bw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-574840d_1593115093787_0.9250098710105497"},"_hasShrinkwrap":false},"0.0.0-d73b989":{"name":"formio-sfds","version":"0.0.0-d73b989","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"fb15f88e08cdc54ecc22fd4e1238f995fb9bc8e5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d73b989","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-AURrD6Y/3vzKf6cVldP5IjX6HIZd6Hr0GVhf1WRFAjiUlzC3JKNHQ0QgT0o7FaJ3uMKpHNe5PBjwCbuzjD2nkw==","shasum":"cbd21ad97092ec758e059fa9d6460254b3c41aa7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d73b989.tgz","fileCount":206,"unpackedSize":1201099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBL3UCRA9TVsSAnZWagAAN6oP/A2AJUYFJdBp3K8qdMWR\ni0AaeTeAcTlMHEShMgX5wIPzI6uTuog0tbZ6jCuKUBRQlaLchCMZTEzrVEeF\n1ZhZLOtQF/5d4DDiRfVqEIxn2UrYzFg7HM9KeWAbbQg3USOeOZ8s7ZSwhjrp\nUUSedU9/q69GJPDWo0pTZK51mmY2RlpKxHmid7LrU494z1+UCkXnfsgt1a/U\nikjOk1wiNKmZMRXVzU/0LEFIGobdBvRpo4A6OE8hygqWEl5Cwg0EdcGmJgHv\ng7xMQoZGIjzdckCvUSskf+XZqgUR4xlxny8S53UvF1ZoYf0yBVXXWuBqFDl7\nnFW08tQNY38HRU76GyMNArRD/pyu+xYoHYnHEHspvnD2DNVXmLfVJG8PxH+2\n/4fbRigtGa8fKY33lOQpu2d3okbn/YqmI6jGHlYI8URCy0J8ZVFAdiKCm9oE\nmUQ9paFXIYTjPVGjXy3+Xc6rNlSwEK00kmWwB4keBXyvsEySWff9UuwRjU55\nnee/5pgPybhT5llVqfJXe/Vjt1zDg+yFhgl9yimmtiARPChGnIxfqkGsZBmv\ne4AEtX965yv+byt1sxQQ3DImuVtSdFNR4p653Tj9j+Fj1CzUpTJSNReynbp2\nt5Y7c5cmKR6vsSBtUQpcSh7JAdg5Xdcn3lDz3XPFlfJDv7tYk2Kiu1y8J2Al\nyIsw\r\n=pHUm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLBBKKERIRq/0DoJZWlO8+KSdo/D3Gy6f06IcrzVZ7GQIhAPIpugMJaGarC+xH69M8ZXl5pPEOS8pcaq0NfxZ0O40t"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d73b989_1594146259484_0.4801068017628003"},"_hasShrinkwrap":false},"0.0.0-4054b22":{"name":"formio-sfds","version":"0.0.0-4054b22","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"c3eedbc5569b849dff4755abb6f1b541f5cb2c71","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4054b22","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-HWEfmSmGj7EIjZgtgKWfiElVeE4GiGNnvk3xN36kH6MhTAjMdGN1r3s+BMZPUkwQJIGQ/Pq1QOA69ap/oH/bpg==","shasum":"01e697a3c7fdfeaf34bd34e79265fe28e1fea2c2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4054b22.tgz","fileCount":206,"unpackedSize":1201099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBMFRCRA9TVsSAnZWagAAbMgP/iEW1Gw0PAQ3JxcIA2Oh\nzi+Ki8QLI2tC2J87+9JuyX1b8hCEvBcq1EaPfFbkETZaEp63I30xI63rqGVh\noja09dHdfc5GhmWBLx5RIlKboETcqfBQNo8ev45uHMQ9RoTmuR/Mw99RJEPS\nsFezYsfoF1p0l9UzAofVuUVr/U0aHkPIdFRW4zoMCZ181Ztx6xILK1237/S9\ntQaMv61mANPPsKEB1OI6/Itl/y1uF1rYTNuTf6zWth3T84+jJFvGKn/4FENz\n0i/UeaE2MebDHiiSfE6fZMG/u/ZLnkIyh4aZCyVIzgzvbAvz3KAKIjYLEmQx\n0N+6eHI3oIHNXnbStFZIpsn5H9tWxM7e2kVo0UrQKvER0jDr8QEsxJ3Wp/XN\njSwMj70seji+bdrJqxhaNRClAeXvbvZ0FnpgNmSQR2AF6MkGSmudn2+dM+by\n0VcmpthvfZOIt7h40yL5Ic5zJ5zepA9TP+LfZlNxjHWWmGXLSL+oWqT3G1Fv\nEyqR2o+6AWvce+8xWVXGiZPK4VYzqmt3rVl5JbLtbsomWlTlelesqgM9rRlI\nXFWVgUl1+ADElckLok6xN+jngfFF3FuYrbmGDEaYB8ZNx+dsYdMIe2wPU/Y4\n9ENrvTDFSlcTUq+PGVsYM83rEEPzoWor17J25c6dOogrFfQgp2Fvl2A4OyxJ\n7EZe\r\n=lM8I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeyHbZCPaT/Q7TjvK5E0t9jfWz1Jt2fwjDd670ndf0GgIhAJmeBrHYhvG7Pm5gmEwqLgaGD68Dilm7N/KJuAN4F+Tp"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4054b22_1594147153021_0.5133784461606099"},"_hasShrinkwrap":false},"0.0.0-1acb632":{"name":"formio-sfds","version":"0.0.0-1acb632","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/index.scss -o $npm_package_style","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"5cb6317cd8be2e0b8a31006f47404b651a3c38c3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1acb632","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-wPmcR49CYPG6MDTcXDIIUfJRLVAhAwULCwU78Hy10s1ZwNi+yaAOZC5eHkIngMjrLt2tTdaWZZBTh0gNgZmkjQ==","shasum":"04e0d4edcfb0c895181c8738e4bdbd6eb1f4f94a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1acb632.tgz","fileCount":206,"unpackedSize":1201549,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBMOBCRA9TVsSAnZWagAAjFIQAInHCOqVZh/ySiW3+lB6\nXTkz56ACGIrB4CL9Xw70M/Pbu746/hAWeDzZxgF7gsJp4wJA9S7K2dUYUOn5\nNwEtsSBs9sSDru6l93/Nnsg9d9xIT+Ejlkqr/PSNoOnttUj+8EcFS/n0c5DW\nGoXyUeY67BuYAVPMBv1z5NmgBa4zblzvy1eo8Denq85HSI+2uzngX8NKr0TB\nNZnYCpUrbI2+KOGzh27NtsXf6OrsZmGTfX19BdxrMap+r/QTsQEiBP4iITXQ\nMtEC9ajcusHPCOIYmigklIUvcucWFZCfPASJxKXAjJqN/wmSlsIIbe5sPhpE\nDU5QxhBy0aWqp11TuWY36m6t2stCf0YX1XihgNDHTnOuSzMY2zYp316NXti5\nrJRaELMOZjX3ESPseO1jfJN3dj+LyXc8yG4aKwj4J8BVxhyfdpXPLfoJBnuW\n53TAWq/M5W7f7ktmD5Exjovjf9m+uYfciFDCDQH2wWUpaEELWsFb726xtldy\nCIpcjAGUHvVIKvZJ4lwAdFP6oQMIJ+hRblauJ83DbQNAQfOVtxeFn/smakYS\nMlFVnAwiWaAsUYZZhJCX4MXpe3Wg3Iai1YV+J9HHyB1F9vZlItHklEwYasoA\nmTxZKTyhzJbPKACr3stizLQdPgE2Vst4GuqwoUCGJrgrjq3UaX/cLGnE6lBN\npeSE\r\n=aLHO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBcFW70Bt6hG+NI+THb9FTWjlR2G9YOdRij3dWBZQVhQIgULK+PT5eRhNIl8I7L1Gqw1PeIbG6PtcjrixbNejAMbc="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1acb632_1594147712820_0.6855952314977356"},"_hasShrinkwrap":false},"0.0.0-b73a8d7":{"name":"formio-sfds","version":"0.0.0-b73a8d7","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"8b46228395d6fb7fcb813ae98076b184ac7424df","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b73a8d7","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-4HSjjiDwR8XayX7VL8HYwbV8+/qOvOkKO9z09rLrXSDXJRafBCDAxc14/zEeNVusZ4IvE64xUgDv9vHAMmMC9A==","shasum":"1eae365919e7d61eedb19167f397c6adb97b83b7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b73a8d7.tgz","fileCount":209,"unpackedSize":1209317,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBMaaCRA9TVsSAnZWagAAReIP/3f0h3vjX3+RRV4Gmwbr\nkAdNKf607oarB4FH9NCWQnbyYRJgGGlFQLlUgk/WTqakD3FL+7qilK5rRbWC\n8OOuFDkWvZjSDdtT7zkA8mUiWuVLY/m3v23tReCvFofq0hMubLFadzbKzdkT\nOuAaS1Vj9L7uUpZmrOpQ6YsiSeJYHbwoBXM7Ca+/vaYy4omtmSzQp2tEPZlY\ngXicdf3jrdp3/LgggY2O796qx3hVaK5AJ5mPTniPzrHJPItt9n1oYLtVJDOJ\nry7j4sLjUbUKVddCjZuKHvjz+2z3mrl/7PYKXT+Lz8ZMMUic1XTG42v8Bbhg\nhc4xAUVwKTj1gIfNJEQQCcR8yQ5ThS7URfiBs02QSzJf5FbY2vpeklp5flII\nc1u1yKkubfyEMpVzwzWyNbDhYHkrjZZA7rdAW01HhPMbnAcHznZpnL09A6EQ\nqPRTD+StSmDJtQn1x0sTWoACd4/vhu8ZfGpj9I+hvByQ4I5ZFfjV0mCyYn6o\nJXPfx1gJqw4T1534X5rEEoluH7aap+fw5s7wz3DZNGIxfL/CCAqQM98JiUGM\nawuVCPyi+IEOxFqYvMXvbt623TzOWu7+8zZ0CdtyKvl73IpAJpFubwLySb3c\n8mSftq1Q+yzFN07695XlAiHRcyiTqFjWY97A9L9CLT7rS5zI6CIpFOh4xYZ1\nu1J2\r\n=FG+u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFHJpGIJ7koXHslBSeVXMBvlgdQIQ2zwYZEtkI2yLmyHAiAuzs+N5c1MRwhGiYz4xe4uA+akkLPl/6aHz0Bl+t7wKg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b73a8d7_1594148505660_0.28929297378654106"},"_hasShrinkwrap":false},"0.0.0-05e70a6":{"name":"formio-sfds","version":"0.0.0-05e70a6","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"1d50997583f159ec85b6e73ac4889f9320b1c776","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-05e70a6","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-ShQZsuLIm8gnEMQ5j1mbw0s9o3JELGi5judCXJGi3sYp+KRjZeWylQyi+PrqxNRewy/gzfQQmBh2vMEZPJb5Gw==","shasum":"721b507d381eefeb044dd3787ae823b67d0d2796","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-05e70a6.tgz","fileCount":202,"unpackedSize":1203550,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBMfLCRA9TVsSAnZWagAAXPYP/jOp89VSHFbKP5oOqllg\nC1nDczZBPqI7Ek5TsXXJ6ECqOp62Tsbh6oppYI5i6ZhVpjeWGsReI2afAYm+\nJCKqRZ9jMR8tiIPk7zVedtKvjVoE5awp6tLNUIU61g3tkjQpcTL0Pnw743os\njwhjZ/BEsazvJ2nZIhtqErtJZQvgVrsCs4I+nBwJE3uufUFc8MnoiVDXtP7p\nh46hZL+oV56MYqdibylzZxSf6ylr9vygOUSLYo/8Z8npDfTE5qYMcfGHQTFE\nVvQYy9UziIwEoYNQZ5NBk5ar/1+OkhUoRFaQVWO9fH/Ui8E74IjL9PW1umBH\nZsgUA4uuTbwKySsCLdYb/jIuolHb7fEfw/5W1wqFbNbfOQWPhEm7B+r2eA9u\n5QgThO74EJRKMKOjG8ae7KoOPGJAie1nhkhZNAY4bpfYjfwVUz1g4TmScIdm\nSpY6/EKDFozuzQTQkVilS7zBLqixT6Yk7ZgQ8iD8b+AUeuaQFdEASPeDCKVM\npqqQht1L/IRf5A6TrGPkDc1UxglkDILCVhOexbs4K5KgVP7UEZBF8u1d0hbm\n3TaQ3fDxYsNxsknb3XTVh1Qo+rIQk/aek2UbgO73Nz0NNx4NPFSbXxdlczX1\nJBc24ocGCVwLQHb5BFuDqyhyTGCEQAzNorMafUG6KsHvPQavGx7Q4oA6dI6M\nvu5V\r\n=YH20\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDGFxZn4boSzkug8aLGQyJGAGD9DEfLFb05rO5bCD2W9AiEAxToFpInbIbVfZpHF9SxOYK7K8R0UPSlsZtj1XgIiBBQ="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-05e70a6_1594148811419_0.6761806649728315"},"_hasShrinkwrap":false},"5.0.4":{"name":"formio-sfds","version":"5.0.4","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"2ea132788d31eccb543d032eff775f9b9662d078","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.4","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-gZl4zSh7y6Iywm7+9QstICsdIr6HvvkZDBgoL23mQ3/pen3K9wsQHaZarGSwN6xfUCWa6F95MdqaVMS731QyBQ==","shasum":"1ff182b48d370c7acc24b24b5c09f1921e95c3c1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.4.tgz","fileCount":202,"unpackedSize":1203542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBMi9CRA9TVsSAnZWagAAuEEP/jIZ68kAr4BGt8fhubby\neyfK5rLmKZZq5P9UGe1RTPOHxqWJWfpBFuypuVU3mYHxmjmExWpl6eQVuVF2\ndww5fk8On1okuTdM72hoQaPTFVHvMgnE7AzQZRnYMQGS7FYW2tmQKD7xHs5U\nPpK5z/ORKBixbTSdbcpS4SRikPjpLv+dOX1uvhy8uPBZXHig/klZ/IXhIRWT\new+YTv4aY/9f8YiVa/JvxjaZi4Her34TT+aN3vg35bxWDVJztSsviOL3kGbt\nDcKhz2bMqv8vxi5NOPSpJ3kbGYTN5uxrCereR1bSOEANMDgnUbgEl7M0txlV\nJuHlqUcNmieMsypp7jDbgBRrzg//JQEvSjo9J5FR7ZWLWYMpekoK9LbS/OBW\nCQNgkjxiFErkGR970ybTcewcvVNDsGiidWJYCqT7lkTxngVAlnIWYiJM1gvj\ng0iljQV9oOIcgf/hdVmoLYAP2OmR41TOXGh4XcyDx6hlE6kKBNooV5uYBJts\n3HQMkkPUvjh5mW0ssUxsKJmNccDJYv2Nu6shjohNHNN5leoCOO1wkvxloN3x\nX1Mz3PyXSJ0rBWYZzRqVS4sKXLQdIpNpfY1GJDkQIolcr1dO+4ih7t7y7mT0\nivjQ1wOSHR/5JLoc/v3eL+kFb7+afvrULtXud7c0XBxysmS5r6noIsAFdBsD\n4J9g\r\n=/wMT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNWJHKpqxazWQzaQKx4HTDU4DdK/NiRZy1iJzOQfolMAIgJiZoe5uKWCilpN+SazlzZi8mk5QtUsY/ckqzQ1UPdig="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.4_1594149052600_0.8953656326405293"},"_hasShrinkwrap":false},"5.0.5-rc.455638a":{"name":"formio-sfds","version":"5.0.5-rc.455638a","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"c0f11d04bdbe8af63403dee44a167465b087b939","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.5-rc.455638a","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-J1jOFXEjDbUz0nMmL22ZhOzuvxIgCf35pKAzNA3ooiGTmxfWrWrfzMy33ud10tqa6ogn+pBIOibreLUcxM8pFQ==","shasum":"08e041bb0b7024f432e3d37c191521d5d5e5ba8b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.5-rc.455638a.tgz","fileCount":202,"unpackedSize":1203505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBMv5CRA9TVsSAnZWagAARfsP/2YudhZQLGC6QhGbPBee\nP7oyEJ5e3wgAl0wi6qlZzq29/Nc1H27HQ6cye2dRySi+HzlGJaSvKiMq7yVu\nT+8a3TNtadQl+Szb91Iytd2x6nvx1zmCpIanK9JCPhGcI8CIPCWU08kHG1Ug\n8I+qeow2oXgX50nTfIkmR9JQ906wnuC6vG+HX0XmdZfnfWptv5rVApCYKumy\nS7d1Xe+Dw4xjvK3EPRnp7VBoQ0nkN3/U9mcv3YXjqIlVN5m2GHIPLziMjU26\nCfu0Lq2W2A0gnTkkyDPWDRabDKDC7TOTfPjKsdlZoZjUwMZUFvamLi6Unf6m\ndH6Q0NSM8PoAK5REE1+sdIIS3WVYa6lQyBEWrKggQN4IzFEx+uNYXx1py0A6\nCt/Q38csMxUmf4zQ0e/BaojQcQ2V5fc5EiuAIrVY0uS/ZEJfUEtoOqqk0CbS\noV2ccCMea5LqMrQCCLpLY08iJZ94hwklbMkN1YijqysL89wIfxFZr6xqurD+\nreBOT72Gql4sfDQQGu3ul4zDw9qYq5G9nqMOMlqvxB4vbluRpKE2O4ijeWT4\nxIwb4e0XkqYB85eIGVq3/apFFiIYNdrpJjBgZc+47eepcR99D6Z0W9hxe4eQ\nJLvdHgIORhZ3jR20SagBDgaaPxG8WaYN2jSb0NKqXX7FSIqbOSskWUcm9119\nYkXu\r\n=eopR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDk9jWnb+JU9UtA32yx7fJJEto0kkfKxZNAsTY99Z7Y2AIhAPMVcr1O9dJsXcmk82b/sIKpb4w/z8Qig16bLjYm6jCp"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.5-rc.455638a_1594149881148_0.8512593482651862"},"_hasShrinkwrap":false},"5.0.5":{"name":"formio-sfds","version":"5.0.5","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.0-rc.10","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.7","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-yaml":"^2.1.0","autoprefixer":"^9.7.4","dotenv":"^8.2.0","google-spreadsheet":"^3.0.10","npm-run-all":"^4.1.5","postcss":"^7.0.27","postcss-cli":"^7.1.0","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.0.0","regenerator-runtime":"^0.13.5","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.5.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.3","selector-observer":"^2.1.6","sf-design-system":"^1.2.6","standard":"^14.3.3","stylelint":"^13.2.1","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.15.0","watchy":"^0.9.7"},"gitHead":"6eef2d026b181a9449d262ae9521a7a3b30b2f21","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@5.0.5","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-zPEU+ZBJre7eVDWn0M7ZBj49dbcmA0M01vucEByeTIAt5yUkekkekDvA7yROx/35aTIlTN5lQsL1baIERRLSYA==","shasum":"b64cc8c60e5c77c7c70cafc9207b6e6833ff094a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-5.0.5.tgz","fileCount":202,"unpackedSize":1203494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBMz4CRA9TVsSAnZWagAA+PcQAIUVSTF+An1+wA1yxTEF\n//66ICj/rkDW1zLws0KMkztgQKYpLlIyShFUj1xM5Ke0MMUPoq3ln7vHebOp\nXRnFAUpWOEiG2qYE+pkKqnM9aUQsZDXwKxMYjx8wE/0Ew0e6AOTOfrJcybH4\nBjpnlO/R5zhFNh7+bZ4wn0890105GOrVL5yntizvU16axDo0TcEKGOHGHGci\nKlB8r0TcMgIHAX7mu4js2Oet9IO7h+jG4X/AThZVS6U041Dk/s7oTS+S0pTm\nlYzwTKm1JveoCe4JTUNke7/Po01BoxLO4HuVx5Bi8pfsdsGJFgZyU9FCUVex\nT3ld+df7j8cwMmoxlV9aCQ8V3HlzjECkEFYpIdWAM8XWcNYHTIIGoxXwUZi7\nrMjFnQOLz2lz7/Fjw2COx5WcDaATrtE2NLqo6/p4zd9qsLuaIWA9wG9GcGTN\nfNUZYPcuw9GQuTNBhzyUFRhgQ0V0C2j8cfmrQiGZjdNfwkNHL4TnV/AMoLh7\nxvo1d6usfkWnmNcINDtY5H5GKgU8MqWEiXpQfEgwkOKMLc3etpxmmF0ednUf\ndyJGBQxzt7RC/epxttNm7FjEZANjcPG1wjSJ/0poeFFqtzyDgp2LMPND8bnJ\nOsNYe28oBSh4+g+2nreD4nSzvLnZh8LYGbCaZ3xWBSnIaPbyVQSZLIk8xtw5\nTtTW\r\n=1CZz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNezDIJdogCQnr1st3LDbcrL/xBdpX1U8Oyk6jiTjexAIgAwgn1JW+7UH8W5v9AM2IBSTHw/EiaBNzI2yYduS7Cuk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_5.0.5_1594150136341_0.8298261217402763"},"_hasShrinkwrap":false},"6.0.0-rc.9ef68be":{"name":"formio-sfds","version":"6.0.0-rc.9ef68be","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"2a2bfb79c6735bf8377e4b8d5e36fdf92da948fe","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.0-rc.9ef68be","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-fghBEAsnnBtUuE22dajE7jBmkKAIXKYEXI2lGkShO+0z96dew3gRZZ9jRtnzsYLBsP3eBwHs4CEOZ/T12tQpVw==","shasum":"fa977905f8f53b5bc1b3963020f5a89069f5e827","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.0-rc.9ef68be.tgz","fileCount":208,"unpackedSize":1288810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfB5q8CRA9TVsSAnZWagAALIkP/RFn2Ho9Daacn5qonCi2\nNeyKktri1QgN80AUlXRi6yKdkDuP45r/lWYdupz2Ct/LfZqJ1zT6p/K9V4DG\nAWqFVfONOzfDAlJ7dSc16YHW6Z1ENIfG9XQZHdUgRmKNYHDzh+BuQBm2FJwv\ne53uMLaG80YwFjgT5tr8/GIQpFNq6FRjFO/S1UqvAtXmL+HpQmmrM2bmDmWI\np50+fottZlWJg/4a/CK0fJ86Y0Ov6kv1l2LMuMzAlGUUrtce/FRk0dXL4C/3\n3vrSJIkEdqwqoRk4LUnVnEPaH/OuBVnnRyHGMMbSrMfngRs1ckcXlBjykSZI\nSwWn9mbw9YbnX/c0SWcrBCxXKT3uRaxz3FY/Z8hfIF3jJeInXf/GrhNVkTMt\n7/t9Bvf3DEXzdm/fibstxMLqaFtqNZEHgzbdRQ9dzxhSQ5Q3KeobSFP/d/oC\n/+7plF5TI2/uCXThWPU4yP2bkqgzsqPl2KYjs3PuGquocor4cqRlxJhcK6t+\nm2KoG/FPKpRfAxbYv0aTt7fYJOqprtGQ5juw8QwfgE0IVHvTl6e1Oe60JR07\nZaoJZk/skmypp3SzjTKeDp/OIkdwa8f2BH7J12ALTBPoTufIL3sckZjeEaLE\nYiSRoaZp4XxYTZOOxUow30xTipr45xLOOgVWS93rbyka6GPy2TlOMzma/W9s\n21TM\r\n=9OAL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCh4oQkoL3vFQ3Lf/A9jaZE+Lj9o8/Pxc0CEYVi8d5xdwIhAPLaxSCwT2XmrFF06zPFkJgiWSMBQsKnx2vM9K5jQrAt"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.0-rc.9ef68be_1594333883954_0.5305001053712912"},"_hasShrinkwrap":false},"0.0.0-9e456dd":{"name":"formio-sfds","version":"0.0.0-9e456dd","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"^4.9.26","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"110d21fbd9b821a24dbc30dc0a2e7a31f62c975b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9e456dd","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-RhQRuSvFae79E+GGG+HKnPp2PZU/nNbe/DlswLiqhAnLjsbgddXHX8Ww/CW1hKNNa9Sgt2e8ljK5kvtSkYkGVw==","shasum":"05e3a9fc48c61e0e98c3a656a52931181e2dada6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9e456dd.tgz","fileCount":208,"unpackedSize":1289029,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDiCICRA9TVsSAnZWagAAt5wP/2D7CPnPtk+8XXsK0Nud\nBJBLD5QyvS3bje2WSj2lXEF4LNfhNZCqbXWcPXUFMVtNqfWGkkQmD7tUIVVP\nn4BxsZ5gRiwp7vX1pKz3/eLqV7TJKbXi41mh4YUY8B+/fzAjDDmpN8PeDq6R\nlS0Ndsn6d5T5NfXknqJjKjcTlGYhgp8mBFEJbCwVEEibbb9q/PhaepHtEy5c\nkFEbgBlvb/lweOFBeyWf0tfs1uJxSqWRB9MX0kbEMR19Aq47RTOYAOIAMNm2\nxrrIGb8J1iTvYR56jIiRqB7gPZOzeB/1/uTk64mO/IvWF+rcn3VZsiVMLYsP\nMlbzQOV7/Qc183UOdNPQF6r82s9fyYF94r8VZIOL/Z6kqHIB4Fifjqtt6LyW\ngfrY5b/lLZqcSt1gQrq/0QQ5UP/MkjVs/I+A1S4THLus/piT+YowwRhjNemm\nj0Wa0U3r1ttWZcHEtda9lE29Mz0cD5ac+Fd1YLmCvgeOmXC7XwRadOY3yLsF\nMOV+7lmrkzZP1DU97ricYD8658f3N0g6teQuclYajbvFBY5btj4Uf53i7s4S\nU5LTgBcmjA2tthBaFiCMLGLtqpZnfRGxeu6pnFcDqVvOw6pinoLwTm2nQD2e\nLhipvdb1eZA1dMLQfffQxeHE1bs2bnUs6a7DrGLXGYwqCtvKQhQUJeejz5Ob\njMFn\r\n=hq/m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvKu2iu0SxLrHOwfMUTJMGKE3LZGwF/EwLot0iSs8wdwIhAJNmxgJ90NGNJaUH0GQzM9tR4AE65wA/g/6RBhDQVRfm"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9e456dd_1594761351526_0.5096733140141128"},"_hasShrinkwrap":false},"6.0.0-rc.a4887b8":{"name":"formio-sfds","version":"6.0.0-rc.a4887b8","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"93f77b1e3496887e6ec0149dc06b00575bb64737","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.0-rc.a4887b8","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-aLUoKF0VN3om2CMd41wlYAKPUv42Wr6g/Cl73uxmA3a6GcE1lBme7Nyi3E1VDfohK3jbWApC3ohsTR5iIctBkA==","shasum":"2c8e1e26d5cc70cd2661369c9f173582a75f72c7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.0-rc.a4887b8.tgz","fileCount":208,"unpackedSize":1288859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDiIdCRA9TVsSAnZWagAATKoP/ifjAWa4ZTkOIkQO0JyJ\n/k6B/dblOmbZNEvJKjevXKK9NWQJkSH2FlII14vPQypyl2rEiz25pCf0r/Br\nZc0jnLzewpCUJoLSdZkGbmBOXmK8H6IcGydMcI6tM9o4VEVkDBRdlYToyvSK\nP6/xqkBo5Ys2qOz9RWQb3A6JU3Gx68WD41cyGbzpNUFQABOycljIDLwXNzbs\nt8i+TJRe2u6XBXE3K5fyX5TtoYg4PilUAGi65VJlqh3DsdyFOqP097aUAy54\nhramMKxsYw/Etu9ol3ma3n44J6ZqFGPzhPi1eQkA18My1gtp358kISR+trSX\nAuI4v/BrRRzhAYey3xXoQhRvp7BFU8esjtgnCGj0KO3hVrsvxW8qLBABuIzn\n1T4GUG9jkrtJL188uDw6PChcoqAVu/EnUnk/Jy0jP2VWIRQ8TpfD3cW9QKrB\n04+y96NNSmBxXUxgWNzfrh01+58SGnUvptTyv2/LboJ/EgD2x9x0WeJ5aaiS\n5BqI7SemuNNIYgTxoLj/UrVWBmCTQOZtWaf39u6SD74VlqGS85LXjS9R1nfe\n80hQ+hDk46fGH5XY90F85KBkMYIcDsx3QkrAsT7/G6NImwjdqCExcbYyQRYv\nDR4ku3FcCWVFE+3FDQ8fq+F6fAjbLfXV3vS/Gl/Ud0Bcn89PlzM+rFg5Ee92\nEFgz\r\n=rtsv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8IkFvWtNQmTpKfH0KEpP44oNBVd3a7RiCCSKYE9qoBwIgM2gJqNsNPamGLnXUHetsYG7pcsXva44hOXpO5SEFUa8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.0-rc.a4887b8_1594761757464_0.16657275822112338"},"_hasShrinkwrap":false},"0.0.0-7bdfd36":{"name":"formio-sfds","version":"0.0.0-7bdfd36","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"682ab2c870234ea29de0a0089c799459268e3229","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7bdfd36","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-TVsdmn46zVzGCdzOb0U7Tug6olIHNuYpZuqn4/xrSTiVvmXqUHvw92warA8H7s9YmSHx8v/itH9cIuspbq8Hcw==","shasum":"b7d6993cbb18443ee82df0b7c45f294f0d4edf7d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7bdfd36.tgz","fileCount":208,"unpackedSize":1289078,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDiJKCRA9TVsSAnZWagAAFVYP/jd7VtBYCvtRHULEy5Bw\niDt6Rra0/fWhkMFhhA97HPA/TbWth9yLlGitiAgnr3xxUpEhuDjqtSX7YuvF\nhJv9s2KCKaOjx9cutUVWlslYvwD7bjb1R4pM9A64rulC/bbaOU0sGymLdIy3\nVdqgzwnTF6Yv7h6vbfh3DYhonoqPYyEA1x/Tagz8XsM72faoLUJi++21zOny\n6JiaItofIY5b6hXX5iSbeCNtuZDnEEi5C8TVOVdknftXsNv7VHS4zuZZuR0V\ng71cxSehjI5R/DaKZK74WmZnSeD7E7ypwywSKtCKbqy8AOHv25ALooIS86ZW\nMnrBNAcj+o64YF7TgoHbeq4QczAEumpTG+zvAUPTI4fPtATrA0Xfjh4HAlzC\nW0tqr5pkz5jki5TtmwZTOxnEra4ERPa/zkyt5K0fqtl0rSCBNRdl1jHsi319\nxqxOLUGxfckSjK06JUCRAp8Pu1XiuxM94A9PrpMsTswLQhejGsEYb5Wj1pCU\nTdvUOWI0jA0QWowk//EpeLiqwd+B9YMeauN/M5TVCGX21SaugUHacI+KGxYM\ngmm8XtmXGt3SqTh30ioNt5qV2HeYIgbRmnehZTfI17bFRrEtXxE8v8zdZrB4\nK69gP4i1nOaHH5rhFXB3/Cctd+nBF8RhzDiSdCUEKn60XkTAEPJUSRC7QPZ8\n7gcj\r\n=OvGU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHA+wx4/6FmYKbMHA/0qT/U0RUy4UXHUzPjQtlUDwm+OAiBwMcjEUKeNmEtDZZ5xzchttlMLk+DDg9qWmI2tT0oeaA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7bdfd36_1594761801630_0.7765126230911463"},"_hasShrinkwrap":false},"6.0.0-rc.967ab54":{"name":"formio-sfds","version":"6.0.0-rc.967ab54","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"37fe8107aeddae4dae5db740f1229a4d496d2b12","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.0-rc.967ab54","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-CQzYL5kJ6jp9cux0Naxvysu8Cr35AOFnki2cIugz6I3J58/WBzQnkw3UtmmwAOnRrct3Q8c4hVxwQUyro5nVRA==","shasum":"9e87b34aa890ba701aed01216d10300c2d136391","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.0-rc.967ab54.tgz","fileCount":208,"unpackedSize":1289081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDiqiCRA9TVsSAnZWagAASxwP/jmqaLwtBpFH12ymZEs7\nSCqs9P3sLYiOQHaY1gZWQKFnAazTH/Szjk3QXyaPWUFv0COgF/2vpy2VOezp\nLE9vvMA65MO6HQzrPHHLw+fRvOMZqfbC0LKbNZs2XxsOTAhmj+PoxRi0BpAP\nz8HwERxbT5KhvIF/vHp54M5q4Bp2zJZQZF8noFQJojZHsJJcHWrRu7To9BUl\n1LqRX3XvUxVDTq7NYC7ivPKPsRne7Fwlk+katFUWZXZgbPTD40QFmIx+iNsr\nkmTPkAvDki5DcwZ1bdxqEI/yiKIF1vwtM7CtIiQy1EsUAy3/AiO+EIFgCfe7\nldMXWvr7tlADc5eteWtBLqEAj1IeIYK+39cO5iauyYkr7Zjx4I02wzDUJ9af\nmMYd5XqQBnhiXtDS7tcp+kIVWvX1ipnKOHzMmOByEMsn3p5Dj3veSHI4KK9t\nibeTwwztuiezGQ/tRz30ZOb417S88PE0DMC8KUoROWwIeug/q0uZXD6L1tnv\nJIHsEyopWuJyIcFZuBFDyaYcbZISelXYTaVojARrR8qXl+M4H+byAIvzMd46\n8HBWPCIVdbrr70nAXQ1rhR8+x1hkdqezrGaXesyabGnm6EjqV850m+vBs/w3\nZPz3bl8G+wan03FzwCk94VstaKYQc2kxkVmrsMXIGiX3p9tf0CeHkFYrohG4\nQ6dQ\r\n=Wa27\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJp9ObfRUdt4MjFp7gm96veRfpILQMTOcAgsoBbqX1GgIhAIpVWQVau9Zz5y7iKXNWTU1xKNVkslGsqvwzRZWH63i3"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.0-rc.967ab54_1594763938251_0.8618167190311965"},"_hasShrinkwrap":false},"6.0.0":{"name":"formio-sfds","version":"6.0.0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"gitHead":"f200db1c5f30752ab852cfc1210a6d727122a3ec","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.0","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-9bjepWbUScB6lGotDK/p9CO00saEtBuwenlRU9ndf1WSicEEcvP0KH30neBjeCNSvEoxoQzw5liCrc/IFgqMhg==","shasum":"5e6d3b220cafc5e17e7807b3202a16aeb8150b4a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.0.tgz","fileCount":208,"unpackedSize":1289070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDi6mCRA9TVsSAnZWagAAKNsQAIEXdk9d3IWx5xXg2Pmc\nyaKI63/QQvZ5H/HJCnkBMWRRvqHg5otyd0OypqJJU8E3bl7MmkpHrScBGxJy\nJNxBlhWR3DaZXcHm6IE/zTS/Nckao9AZJybMu/D/8ZRbgv52PwU98r5SqKVl\nA559pz0qn+b+VUW9tImCKp0g1/zmAts1rmvXz/sCsO+srtQvxAD7WFz/eXay\nJ9nRWuQKOcsWcsiPoQy8kxZtxgkylqDsTudKliGpeGCX/HrkYPei0ihPMfcy\nPJKTqnEp0Wbg62k6drnSEVATG9dj/WT+guHk9lFofAEQulTvr/fEdDi0P2if\n8dZuTQYRtWodyqN9OmfH75LxrXOH06pm5GZMNjhAAe+ZmciOLKQyeIVqW0n6\nTvDc1gGhhCIdLMz4dWUa7XdjwKD7vr6XFSAkhY9cYU2+SDvyvb61PcoMAeHE\nY1OLB6Qdl5bEZzSc83P4vdViIyDbYUSyngD9rUyRv27V0BITH0VJPBPyT9Mc\nmxY+WUPZyhz/Oik5zh73YS+C/sFJogc3g9tztCW/PsOtvG1Ba4P9gzP8gl4R\nXnVsBtwtgu2zq9c1oAj9wvrAb5SH3fLaH51lamvuxSeSv0Ch+xeF8JRQiVqf\nzGNU/bH5rAlCAiWGWodJe+G3BtDTFDBmHyR3CqW39SXP06Nb353LuNOkUKqN\nEohP\r\n=Kv/V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9SAetkmfoGaxiSyj2FiV5Oh5hK2d6sFFrVrh1gNwO/gIgCcWBLAzEaCzDCXqoOR2lpuUrS9r7o7GRIKLGPpRnHPk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.0_1594764966135_0.44633850022720045"},"_hasShrinkwrap":false},"0.0.0-f9fc257":{"name":"formio-sfds","version":"0.0.0-f9fc257","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"af94165a85c9f1bb76d74915a4da0abb897a6218","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f9fc257","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-SG2m5g97NW5GSxnRfqVAavBRdAaK3rGvguFpaY99GrCv8BPmJ+2seO42oPqLQ44/w329GNc1D2vgEvoXB0Btiw==","shasum":"aea0a44a8e81a7cacf3cbc7aaa0c9fbbc864f766","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f9fc257.tgz","fileCount":208,"unpackedSize":1304791,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDkmECRA9TVsSAnZWagAAw0wP/2pGW0LAZDD8DncwOqug\nMAniSUzN/u0hIb/U2zUAv8PLFBbFhd3oNg/i1HcAb+1ShOqVn3v55R5QXnKf\nOMpAuL3rZOtYEYfZHvsJkQfNh3PgjdmEamavhCQoNVuYwHZ/ZbgL6BNfohjb\niX1zRnJdYQ9R0W0jPnI36g6tT1KNjMlA320LTAmAEfvdwLeC7C9AXOT035YO\nnj8YEDiCTLvi+XF2HVLONWy8j0LXA0kz8tfYTX1duQmFmKGDG3N+1sN5m7wv\n/Ty598uglr/jEVqr9UgWUSLGSe4WPKXeqvh9GcAtW5jolhHVa4xvmn+C6aqq\nvOR4g5CIqvHPcuP5Rt/+gpLdhNUihyH+pjtwO9UoNySUcnHjcrs6jMrhRsZf\nql5YBCLgyR1vfBebClvxoGnxShqxfT8xnbac9ADq7D3DFogoCoP7dz7YKtxZ\nFr8n83AS4qdW40uw/1nfaOJsutaykH72P7GXizw5S8j42zRuER7zN6bbJwT6\n/b/QfDuI7BYdcqX5aXle6JtdbmHP8iY4Yzwu0+5HmLJRMpI82flKm4AFGA7Q\nkAiTuxk08tolBOjNTsj2v2p+hydO9LSQyIbu8kx8Hhht262GDuvyeVVibRJF\nFoqMqc7VSJW/ZeVcDpjB+O8c+g6pBX6o0YZXY/gBhnciyihyJT5oqMlh/nDy\nULaB\r\n=EItt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSNT+DHRR1hpSMPd+tSAUGxXHsFteUPoPKCfnGUJNIWwIgO35DfDVdhdcKE1sziPB/bZzzppQTE9F1Id8G9BvSXSo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f9fc257_1594771844140_0.07108220432829504"},"_hasShrinkwrap":false},"6.0.1-rc.6d1462d":{"name":"formio-sfds","version":"6.0.1-rc.6d1462d","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"571b70020d21438d76fc3d0df515239bc6489155","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.1-rc.6d1462d","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-lDIO33pO72BfYc8LzF7wKRGXoIxRaHFLVMv8sZOXZfeobcfqByiT688hmyntIfKHahhuknmqnTuhbmsWzkFS3Q==","shasum":"e743e5a61b497015e9f54835857f29c097ae6fcb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.1-rc.6d1462d.tgz","fileCount":208,"unpackedSize":1289081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDkmZCRA9TVsSAnZWagAA0iIP+QALlPvb+6zI5KGsteOW\nqM+AGQZma1/m/z5RAypS0BKmqvi69u/1rudCA5uDEIfLOMA2FpTcnuwaBiF+\n8hLT13v0ZIdCYk6UjU56BaO4hl++V2MIH0CDo1kBIVGzELWaFXZaruseeEy2\nKtTcnn6olP+xibWt5z8Yz5wKjLJlTdELkH99lMKLj9itB9KZrFf0NThBz29E\nwoAynq1U/yssMChV+NZ/dvXB7puLJfjIsJAxjEieuXEOT1kuGpIZsFC2xYbG\nNkCYEqbbYERmI0z4JnfojJ4/7Qsh0YtkZg2CaOqZjhRkjtjbl+LhQfaIk4Vz\nZBNdvONxP2wOukpp6pysyhFzwF62Wmqe4Lqn1O/MPs/L4oAw389ZkzFObDJb\n/HWR2jJ5OUYrtEYv6DufPUoMbPMPtGL4mthJeiBgHVEn+cLEsZOf+V1IjDDj\nRhpHnjC8DH0LJ2cPMRh0TA+JwsTzVT0JE+nPU+XdNrJrB90k3mFeXvfZ62Y5\n+qPYhA7ANocZLrluGDrGeGA38fvJvgKdtUDRdVtzzP2Tr27Fy0UHiyrw3K5c\n0YS8L5se5InA/ZLdarBQrXtLjHeGBmbiwSWJ7axyx9yqpM3dUhHK5JYa0r4e\nqO+4w5f3A1nL+h4Ld+USlvcfuvv/W4d9aAJLljpLaiKlRIftiLNECUMqIV3Z\nJicz\r\n=Tjgh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID/NRNXsZSL3r8LycvYxjlbzLMg4SKSezmscbLNH9hfwAiAYxSVFTYZCbl+KoF/LD5Abe6yVoZbqVoY3zm68Yhjv/g=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.1-rc.6d1462d_1594771864515_0.5856892384492551"},"_hasShrinkwrap":false},"0.0.0-7d647f3":{"name":"formio-sfds","version":"0.0.0-7d647f3","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p 'watch-*'","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"b53698647b77e8e946de5d8134ab520ab82728ba","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7d647f3","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-RdaL+rZerYpekeUhumyQFjFWzmrJ2hOXZGawBwx2UNGd8LPSnJojeKSUVYoA14lhLlZ1Xhf1xxCdJH35eo5kFA==","shasum":"f126c8760289aa53d8c139ea5140cc7605853295","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7d647f3.tgz","fileCount":209,"unpackedSize":1304474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD1NNCRA9TVsSAnZWagAA2doP/0cqjI2saGlZOJZc1SkA\np8/KQFDqxw6FyFK5AI1XpUDEmzhgYsiiKYL1ZCHvQEh8js2wJMyvsQeqdbTA\n0EI4Cb668BF+6w7DgJauQCybFt08T21Z2/EHVIBbt4LAaiz26hwhvOgzNUHk\n3N/xQN5VT+b9wSW67Czc/0czc1DA46ER6AACkBLGgisY77pHMU6Zh+t7LEj5\nyfbp+GqV6mgEstsKxd5F2nZdslLpQEsH66/hJCYk25nV1irbuP+4evfFQ3Ho\n6eJaoozpyB3ouOzHi/ZKDV0+XOUeXWx5hGUCvnsPCFJbQukEA6BUHdiRoA/c\nXk9zGCFUdv0WjLo529//IaPLs2kwJmp3Agu6A7Nt0jjsEp8lEnA9W59rmcr+\n2rWf1sjNVjWu9Un1vXY8UklIsvwcMgoOwHE/+XAsblTkN2m3wvbDHWMuA5OY\nNxzPP6ibYvOZp/unpSRFqr4mWXdtZFBzSPr5EMyWcVGNKEWgmx8S4C3v1i45\n1qN6XW2KdNTSGknclDtG5fMAWzR33cbRO3U1pbHcDDRxe4AmAGzA5ss9Ei/9\nOoIKVL8uoTMPANf6VHtuc3vFq3uoxgpPLE4LxA10LU1UTkRjjt5wHG5jCwzC\na9MWJ7+QJyB3T4wY0kKWwSxdZnu11ukxFaMGD4WqhqmATE5760DI5HVmoXJw\nQr0F\r\n=iKGO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9WruDjOiwmbOD9RlJYcXkmBKv+YBLjq1F5SpqIp9NjAIhAONQ1b4ePFFmvhOQFQE7kCOZ9skfezQDO/5OYuGGoau8"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7d647f3_1594839884981_0.20582881238612583"},"_hasShrinkwrap":false},"0.0.0-2e3340e":{"name":"formio-sfds","version":"0.0.0-2e3340e","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"2c1c4f72955d5314b14f0e29444beb73899caa68","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2e3340e","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Job/E2yyoy55VaY6gzh+iYLwEDC8blAt9cIpO1fk3LcSxixY9EV4ioNg/7Q5tPA9tJ2mPdVYfUBniXaz8dUTTQ==","shasum":"13b82283f98a0ae99b60f8a098fef38eb3493c9d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2e3340e.tgz","fileCount":210,"unpackedSize":1304881,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD1V3CRA9TVsSAnZWagAAPMwP/iEEKfOsjJui9xvdIQQo\n6jKw9CLi6SOyHXFn2R66Ug0VxUHRxrrI7Jw1DMh80g/dkSawGv5WH16zBZGp\nSILy//tfd/sSNs18xKFc0L2H+mfRA+ElRL5l/SmNo3JuHKn1GQtyf6OK7nE3\nYSNi7jXOMZKS8+3iHeOocXLuKgm//Eb5HzuWG7b5/vhbCqyjjkTEAhATbDf+\nAWJw/pEnroGNRYFZjf7mlFVCZ/D4D9ikhW8QJfV54fZHr38AXcArfrLnEJe9\nPSaUeVS8EiAAwZOLbTP7dC7jorcyL/X6sG0VM4Js0mtKb9wz0o2SFu5eE/hL\nRQ3yRlCtgjeJ50EH72y8vN15dI03k4zZz8UATvJI/KvgcmMEIL3YuLXjKyFR\nTw2QqZoy+QLBeVBVvdbYnigHlo9ar2K4SGpCetoBXzqI83ckBbqVfYRlttgy\nCB2i+P20eCIEzUGzSjd+R4MRF9Q/QHAjH4JSk9TETr4Jfh8+cRlZDlGkVISC\nrkJoL3xKGSd+E6uuR2jAIukniyijOmYmKSo6RWkCtoUjR/j5x2za8AB8+y6Y\nPrFosj84fgACYEW6jH/Vz2lWg0ieP/+uwOVrsV5YuwCKnuLL7xx00KtLhTUn\njQs9WlmrzuL75KEyFeSED4ObcqfOAZf0tvLwtcI9fqtHNw4+q/NK8qTjoVYZ\nzCKG\r\n=fZCj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH97v1OBLUb6dx8llYwUPk0DxuoeVEyVbBhmgvft9ZEhAiBXlDay/P1VDY/BeWP+SMR+q1fcI7PqXTt7se6XbmUNJg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2e3340e_1594840439339_0.8320100291756762"},"_hasShrinkwrap":false},"0.0.0-9ff10ea":{"name":"formio-sfds","version":"0.0.0-9ff10ea","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"41c5858d75af60d70c67173c6e2ba84ed59f19f4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9ff10ea","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-jWp4dflVlcic/cRMRnJbstl8WrI5arZ9Ewq4N9OuteBgU+DcWIj2vD5VTDZl1EfPB2GpH4+f+b918SCW6LKyFw==","shasum":"554fd0d7372529f9f122dfc914b90c31a5e1d61c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9ff10ea.tgz","fileCount":214,"unpackedSize":1313333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD1ZICRA9TVsSAnZWagAAEM4P/3HxLgTvP7LfbFP1TQhV\nua48d7cTZAAWv0ElDGLsLsEqkhLo/eCYkfgomlAJCSo9hivtqfQSsF4/AqI0\n0EkTtPl2g90aQtzTVvMnGhufA/F7bzaj2+Mx2ZEk+3u6iibolQsRAJ1840IP\nTwqJbn+SrerkqOrO8IlfAOWCW6DrTTxrQkgPzHHKyshpImuMADaadwL8xnxU\n6AMzFl5vydxRKGSZIaZOxj9aFb98Go7C9pViZS11XvABX8ZbDchOkL78tCQj\neJttrcCmDngiA0HYZ8DEV4M+d0X9NayoJ0eOm8zay5iXur1XA3gchBvFxlbU\nyCqOTacI8py6+PhxvrHrIcDDQbiJ/MJLJxeqVX/6LKsNqLIYx/e6nX/xzUXX\nwYyrDgKQ17Nq/pW3Vayy4t1As2cWQ6Qxb5OzYLPPf8gmF5OOBgY6ZSXl0HJH\nCCeCUSQ/RAVilE8quDev7RxlGpjJx0gfmt6t8YMaH7ygn8AoH3k8Myy5bDDs\nr+wjFmYZofZJErM7hLZPnUrcSzi51sEb8MZusKDkxvI7zBS3PIh5JwtOE39v\nFKGSopHd+egOKTAZsa3ijN9ap1cg+99sdyV6d9rLB7+MsatrFN4KV9qFazPg\nfcjxOEv4ttBqV/RVSXkH7zd26XcUpJC2/UoZi2RNAHketCA1dt6DOvfX2vf4\nr8BJ\r\n=F9+S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICQDedoh+qlQifMtj2bybiFQPQa2QCVmqvPc7bTGxSB2AiBO02rdvvY1pKqJB+8+IWv3+kCcM6SliJ/ycsVVprTwcw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9ff10ea_1594840647752_0.5680594326998085"},"_hasShrinkwrap":false},"0.0.0-58b28f0":{"name":"formio-sfds","version":"0.0.0-58b28f0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"91052cf09708392a36e219f4b49a136ebe251713","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-58b28f0","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-qIFSlQ4Bw2ryamjyqfkiuPYMJTllJjnkaFfjpk8Dq7p73GP+Caret8l4zOE1fHcsjnoJAq6nGm21rXyyBjMaXQ==","shasum":"4361100504e3b3cbd9164e7f5a23250d38ed0c85","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-58b28f0.tgz","fileCount":214,"unpackedSize":1313500,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD1iWCRA9TVsSAnZWagAAdyYP/2dDyHdjLehcSrgsJkyD\nm2BWPLS2g0Q89r8Z92DNgQ7spGX+FjZYg7X9sz8EDk8dGVwVvicdF+5sZg9S\nAyExFMrcQW/482T8GlGOE5YDI93KyKYdYH1ppYhGWxP7ZrgCc/IMURGVdzH5\n4KzBL4WDZkXE7mxKKAQt/kgplIQhca+Q2YU2L+VyMMcdeKYxFcjT1u/8x4h+\nr78alclGL3o6+kbi3HXCYRWEI7JRIoZ65nWbwf5qgFXg7bT3I6wulkMQZRpJ\njTxToNW1uoL8OMp8U40qmIZobkh7EGqeNLf2fQ8bUDjr3kwyYQPsoY51cVkP\nirMGt8IHToTqInkLzi/qcf1p+07Lxc/WVoK+v5+qXI3s/OsPA0oHIQchHjld\nU9FFVB04cuoqCveBTBkRXxbFg+AEO7UpkT5H+N5c243TYrk+zwtHg+idqS/S\nkcXFtVTeALSyA5Si1GuyB+hfg5soVAyNpHBSxNp839SXdal1k9eAtx0RB0rP\ndWJ+nFEJqCBb12pOo7muFitDCAaqBcpIAWbVG7V4amETT47jXZkULG9IYHVH\nITR78xb398gLO9u1rtfwnQhcA1A0kkLAhsM2Z2L+eJ6Cgimg3muWnRsXxV1Z\nquVMy7l0rDMto2kXbejDX4IgVQY0M1ekzPlIH5J1q2dk7rYPL0lwRTd4fUNg\nMvZO\r\n=WgA3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCy+5eV70eDeLXc2SamCk5pxtC9a3N2R+B6PUf4KkjQyQIgC1BRdBbWwkixf0FqrvyM6fGB+nXNhb4pvHjcIJd6Ook="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-58b28f0_1594841237806_0.12381454442756268"},"_hasShrinkwrap":false},"0.0.0-1055bfb":{"name":"formio-sfds","version":"0.0.0-1055bfb","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"a2536d39c1af148b74f541c8351b8058f73529a6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1055bfb","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Fq9sgS+4a7TZQyJO3CIITfRRPug5O+wu2Wd/Jf++c6FHCCFgYPt7xnLlHONgpyxeVimR1lwENuIg1hDj3XDs5g==","shasum":"bbdab4f0dc262b47fdad02e44fdbfefcef376a77","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1055bfb.tgz","fileCount":214,"unpackedSize":1313506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD1kKCRA9TVsSAnZWagAAWEEP/3KeA45RERwa7kUA6G2S\nyc0TWgcqOdfKe7pGoGIRmq3bdgD/lgAggbmQNN0u04FHDOXzh3q/GvUpYYhY\nqDaOXEZg9bGW0Ofh007FtXHwubG0D3YqZmTOu0YIrVH/5v2fNebQ7u+8RdLG\nGTlfHh5ESi3tnm+v8PI7ko4wzNbRZhTeoZatOJ1pBefCuEeXR3ZfewhvVLD6\nAx/FU2QOs0o+FG6vrCrts7bs7WgpcsGsdHf/3hCCufXhbW19G3qANQnCsqb2\naOtoy/3TJKEecQkId6HfkxPf12c9HpK/Q6OfSqhGLCpOjHnp3+2OvdxJ0Ebc\ny/x82CNpxDPVdzharLyxC4alQW+vXsZE4MbzKN9Mkye8twizrL2p+K337zyl\niosZBx+Ee98/8ZbXXlJUGmuIWRQ7/I2N1RtRQj75vIRXd0tQpHQBxqnDfkB5\n7TnigI75gfS8sjPwACzKExkMkAW6OFFlEnszYnI31PuLn1njj26aKpNoOz0d\nEtED5RdNGpKQlVX/lLhZPs1oT3KIdFrtaN1Wcxr/9kqrEn2ifWfnpjeb9Gw+\nTIuNh5sbk64D/vDQF1x0eX/zmscx+S8D5fZpWlf+N4OZ/rTj1mW+BLTL3Fsd\nWW9kNpjxrMUvnF41ApNCGgaf5W8BTeL5fKcwczq4Pu5j88bG+fXcSmNQGsu+\nZAT7\r\n=sEiZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICT9sxn+AvnyNhT2JJbL78+aii69gVJURtuPmhOgvcB4AiEAmHLbR+4zfkpGK+/xOa0srB5uHazjAoWyzszc7xB+nSs="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1055bfb_1594841354456_0.047796843269253264"},"_hasShrinkwrap":false},"0.0.0-c1c617a":{"name":"formio-sfds","version":"0.0.0-c1c617a","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"a0cc97de58a931952402b0afaa45b51eaaea1c4e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c1c617a","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-m5B0WExif8B4Plm4p6UZXNsNnaJ+r7ll8kSZCH1pVD5F1fH4wNLwGVD241WM3BklZltTc0LtwD2MmGR/EWh8qg==","shasum":"85041b081bf325a77144c3511e9ed4741e8cfc71","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c1c617a.tgz","fileCount":214,"unpackedSize":1313520,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD1xwCRA9TVsSAnZWagAAL/wQAKQMKDZMNgLZFWbl9DEH\n9mk2aIjAWYEEslfXaRqJ2zDIh7JSaa0NJOlFPEJO68bxb9JQ/qMnanM7k5ps\nSjRSMCgqjaDKAN9YxgLkClLsTRsb3Oh6nDUfvFmg06yVv+vvLmG6FBvkKzFl\nsqh1T4iCglG0KYTbbmEAQh/AsAu2i8oPfiRWuAj/KQTPZXIALMiWJ2kWUVZi\na74yebDExsw2th7Dry9k35LT/MOnH863BKnmyD8zGQ9CI/0q3rpKaOKvRqEj\nfVp9mvo0V0Kpd/r3GmYxXRipq2yPUcm8OJi1xKilATmwWA1Rr59RjcJ02Rox\nuOciJw88TXXTpZm9+sEQ3MHjijTEu7jCI8OeW+/1yvlzlLxoBEg7r3KCpWod\nAoyzByBEMCWztcXriTvPjJlNiLwn0AGYkwcbaxVwDQrL/iQZ1V353ii++5zk\nHCo21Y534mbhbTtmN8BgmNdmp3j/4KnIKwxUSCSwJNxy75NrUeIEFOJTggQw\nS/D4V0IuF7Vc+WYNF1/O31kLjgseUqP12CuFcE3+nA20Un4zGzKuMy6nPs7A\n3Wh3zu07UFG7PoJ0TpVRchLerTWVBFCiraBzCRYAgspUy0ffNoPxzEg0aVqy\ntsRSY5q3Lv0g8dPLf/olyZDNzYMxboDiC2E/imx023rgayKZMNJsjy/QXPZZ\nh1S8\r\n=NL/m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIARI8k13C6hDJGd2O2pXWgMqHK/z4hwm8XFF9WMkzglrAiEA6gPxthuHFlLKzDc54SkHZsxvNvpP4wHh42Cz/VkfAuE="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c1c617a_1594842223744_0.7356209700930396"},"_hasShrinkwrap":false},"0.0.0-928998a":{"name":"formio-sfds","version":"0.0.0-928998a","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"e6df07599702de432c1206a1c256bd7d045c66dd","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-928998a","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-1OczdnkwV6Bvv/ajzHOC+eRJAYNngwP+g6Cbh1GH1VmkXzZ8hzw9C60CtfhRmKa2BdoaEgmVc1gp384ivsfyew==","shasum":"9e48a318987348c0a7c4fb924094c5808b01374f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-928998a.tgz","fileCount":214,"unpackedSize":1313594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD10hCRA9TVsSAnZWagAAUjYP/3ZqxeF8IPuU1Bn9r1bj\nC/EGGKliQmLavEVliiyLadwNXl9IVIGgXbmx/ayMU4Dgzaxrwk4BdzgwXxn7\nGamivda3BAPjx+jCUjX2UOhUEz6AA/C8jCJkCbTBHCRJBDyoUuwvYaSrf16+\n7VZ8sXzUJwR9elOSnsStwvZqdulFJ/3LAUI1uUTwLG4pbrxcj4pRumfV+lCY\nJ6/myQj8y33MM+GTr+jPoMqxuFnLi0727GMJPK9sWQBwel/R87DqCDtFeO1a\nDSnEJPb9wGL5wnpAXLYOJPdqHYZS4nkzByR6RAuanGyHR5NnNBf9FwTc4ys/\nxpd/1VqA6HqqYa14HEnAgAlQRWOCcM0Y0w415eHanQUttN465crD6zlMA9JN\noZng1S+T9xfy4I/juWFlK+N1Gu7Aww8RCJmdpDGvVLyIpaibUo2TnqWi5lJX\nlUjMGryoc0G7BCvVXRdNfW0NM0NQfwz3rvX8y5tv2BSdjpRYNkSdUZ6VLOG9\ncfOZ1Iv4LDKErEwoh75vHceHB94lF7qGmaliKaOsCZi3+GFBVsr/QEfZbysG\nmvWeLYrG0WPj/RWJ5OxdZyCzS5CKbNEEYmMEGaEIG+IhYPWNxUQggodR0Dbq\nvlPkKlW6lY5i5rB4j7XXG38GabRK+RCDaoHv+SXG7MSgYI5teHNtKGSEz0Gy\nYvOQ\r\n=VLu/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDewS9v9kRaLg+r0MtxtiZhEVgscZNNnjGZ5o/xhKI3BwIgI0gmig2k/6gc9tHKUBXdviMcNCD+g9vNNLb68s5V2NY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-928998a_1594842401381_0.5526694841793194"},"_hasShrinkwrap":false},"6.0.1-rc.8bfd9a0":{"name":"formio-sfds","version":"6.0.1-rc.8bfd9a0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"dcd9eed5b6b49383d84fc3e2c040b5ca828c2d67","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.1-rc.8bfd9a0","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-wnrlxWC6buzmxvaOneSF65Ex4EBOF8q+KwnSM5rn0H+iBkv8GC5EdgoBwA+qkfmDpbsQt2p3FdRVGafMGuxYbg==","shasum":"06dc640258c628a1b75b285ab9ca412b611f3cd6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.1-rc.8bfd9a0.tgz","fileCount":214,"unpackedSize":1313597,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD14ZCRA9TVsSAnZWagAAgxAP/350CsDHmKDaaJ7W1yVI\nmwgcN4hP+F9qCXB0nDg/5BTYbvEB5jpNdJ7RF+GPOAF/gw6G3i1ilaIVJjh1\nYCqcgbHdW46NaPuRfmKunoS2Y7m3L1a7sU68QOl3Vvue4Xy+IFS3eLrpYqmP\ngiPzSjRe8CAEFYp8eHoE/DdpTUDr4y6X/pXg+BXWnEIJ15f4xYZLUCFOe1f1\nd27KB39zappm8TVK2jxVeg3wRZHW+Njvy7kNv+NybX8hUjZBdev5RQpqJB+6\niGasB2AbEl6gGDK81eJQ3nWRckZke3k+X9zEsi9pahBBVgcVxsaltE2gFGWj\nIOSuOVZ5MyhElWHNH8HqfpTqfNKt1yz3q3M5zZWVTfKeNgp0glYIlKS3X0YE\nemo9e+xSktvuNLZkav+7pmiTs2QvPAbi/7UBupCdzJYgkGFOg/RwyIqYs6aM\nPea1XhGuxQvvBs+1MumZHjxX9E4yDEyMqo/VEdjaVHquj+tbA+wecz7/Mp0r\nV2R+3+R9QBvciDTgI6cTPH5Pj3WCltT4hrhV0JkcooOKNQ0qTijIvA4iK9OT\nkDXuypGS3M9mWqGHFoqW/rzmNOkhmsu4F3Px+6f5G8b8UXTxlIH0UmtJ6P0y\ncd6snEPKzBoLZc5tu9JkRZi/hrYM7IwxB1EBCIoIT1zLqvJxZPIWUW1agDt6\n6qs5\r\n=KL+P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBqGrcyL1rA/5F+DrhF/OXB/LAKlLU8ndptJrwlF7pkzAiEAyf9MP/cRbNapSoIEracD2eQpR0qADKdMma1+GSqp9ps="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.1-rc.8bfd9a0_1594842648847_0.1698456592003399"},"_hasShrinkwrap":false},"6.0.1":{"name":"formio-sfds","version":"6.0.1","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"gitHead":"2b8db54a3252fde00e3ce995c6efc084c6eed6fc","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.1","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-vRcbMxtVMLLhzc4jQfQ8x3aK+DHQXOOm/WKivnJhx4h9gPBeAxCDBbj6lpDcbNKX8VHe5CDMdcVu8JZLj4HivQ==","shasum":"add96d1baf7639d7f582f147cd66aeeb6a3d2903","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.1.tgz","fileCount":214,"unpackedSize":1313586,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD2AaCRA9TVsSAnZWagAAvxEP/j0fcHqc6sU0gVVDoZK4\nhmEaJoVCKeKWSC/juX1xvldWdWTFeNPSiCa2H37pZ4Zf+kTkb0jmF1TPmSWp\n0NGeXKeaMcrx1fjIm2JACT0pcmwKjuQmmcT3swRzhvsSm+e4osfvEzlCU2Ks\nR+Bin4gDab+BCUh8c4MU6kO892WJaoFsux5dt2rQj3O93G0njB+ofSxRSnqm\nRTd3eeeWsaD2hnpoD9GI9lVZt8evA9COos+jiDM1SzXnFNk/qu9KMfQsuZt6\nYkgZiqGPcihB4sjn+xo+SpXEUq+6GFbP7PSu1IDs3K2nEy4Kz+L0Qa464eaz\nxHCv0B/B7onR0duoQvVudUSzTS4RwKP9Kjt0PXtNfjBTjPSQbjIvSSo9QOf9\nOq4f3faJ1+J1M0ZeicumrJz1tYk8YfKLCCg1yyx1K7K/2eojGwGyVof7uVmO\n7RsLMseRRSlDi+GpvzqNRsTH813ZHn+d/wwn+YxyeeMQ9OHi8zrjQA/QhL+y\nRT8NdGJDhT9rB0uLwTlzIWs4fnHh/NDtj3mWmDhv2S5N4IZd+/BJcigSYhFt\nY1XHGgFkzAR6Mv5qJ2RmeYJjA2JDbuqDWy6XSeZDkPBpQvj8osdTLDgT+3oN\nViu56H9/1QCLTlpwEWOEHgI+raYbWopu/c3j1qUtnrUoh/JHsqtelJ/jPicZ\n3rfG\r\n=/12O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAgbw+9WBXOZ1dun5ZlJ99NPpFVwyeOCxzUgc4d7uOpgIhAIGFa7umyzo4qifTRtEOvDUvi1KHsS5h9veOf9+plQW4"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.1_1594843161861_0.48864293296690486"},"_hasShrinkwrap":false},"0.0.0-61adc59":{"name":"formio-sfds","version":"0.0.0-61adc59","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"82ec449474ae443fa8171199aeb5d4c8d34baac0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-61adc59","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-x8ZkB0hyNjNnmpOagFIZU2rGM22XNx1OEZyhZke99V1sj/VlQKD8g7wlPHNyWDOGy4Jvk0kQ3Dgy/jFkVbU1iQ==","shasum":"1d7b4403f4a79afaff8d27c49d9a566f61b4f1d7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-61adc59.tgz","fileCount":214,"unpackedSize":1313594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD2BWCRA9TVsSAnZWagAAZZoP/R9vYpoFyb+8Q+W0RPZE\n67hvMCkvYJR/IJkA2uSirtoblwOZFjbOfFIwf3GBAfdlLUlnv5vDEyC2UK3v\n6/+RKuMmSr3OvnNnLwPUlZ/YmbPAAMHNFnoS5mAYiy4OVyfPRlIJxTin7KRA\nqyIRrEM/Jzu/11WEpE+O2UlKY0FGUI/YTByGgztcRYMmRuSpX6Vo9keXbN/r\nmVDkwZf5eVrMjIpacdjQhw719ws7jsdkQP8lfFKj4Z7O+e7DUiCpT3/vrfGK\nJzq+kBauolQNsXWvKdSDv6+e2TkTfKUaX5j+ODimTu1CzI8R6OolPgVKnLLd\nJR3nRw8lsg0vVcPIW+y0wz1pLZXa5+1NlHt6bymdH1ZNDzpsJIM7iPE8Km9f\ni02lcbXC+/sAyyV6oNtXeFz66sKxJWbpuQthiNw02gzehd3C0o+fUGapY33E\nr6IvCLQJ8zuyNdBDjsF5g45A4qIG2Fi9b4vWho+lEPuJMn6K1dOMfRVQjEGu\n+KyhT1liw1oz+ZuGQt8rgQDtE5df+M3zUteyeQNtZkNYv+rnhPt58iHpTWAx\nhife4Q0GNWnTb3UxOEyJ/2WqnNKFs0U4WjsSluhh5qA9qtCFXk5MPpqk7x3o\ngDL3oZ42XxCjWDZRvmdBuGjyzU+QkFiv3cPco5Oz3TiOFtmZh1+OilflauGM\n3krW\r\n=nw+2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFf0ObZ50OZzCEBsLeOwGkFQ51vcNsuwoVqD4dS9TTrCAiAeiINAI7MGklmqsmaLk+epQv6ODFTIvrN+YSqQgLDlTA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-61adc59_1594843222493_0.9378614537858201"},"_hasShrinkwrap":false},"0.0.0-87b1260":{"name":"formio-sfds","version":"0.0.0-87b1260","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"b9ad82fdf8dc1547fe507cae84e9eaebe552ed15","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-87b1260","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-jNWzMR4KZLL/BFAh8qFyUN4LLIOD0/ngHuX65aXnWXt6gLdS37Kbm6Bl830jVUibLAv/7fPpcdQN61edjSg08Q==","shasum":"dd97737f0eb876573b4a6c0534c38c6c6fdc5973","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-87b1260.tgz","fileCount":221,"unpackedSize":1318192,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEMTCCRA9TVsSAnZWagAAgj8P/14Zv6CwmPoSzSOpA6ks\nbZsKtbFiR7OxSXbouEu2YyJJGqcMTA8kEeNtQPG0WrS/xMbCf77jIqyamwZK\nO9jK9NDT7EnBUdDNL7owd/AtonDB2Esop/jeevY9A8RNzUJYiXkfZAR/ReMI\n1nHiGW3E9Klm+dtFeeAoNKBapP7qTdxNivAKum1PIDTWw+P67EAdBz7YRWje\nivdGVVWzpWgnCjhwkTaqFo/gqN9WvdblPGU7HTgauAOu2iTu0dneQoUKNa+X\niDRjSDujBUiMr8W0X5OTQKj8me8IBOVVZEytLM63HFYJyvVP54YtDd6MIZXN\nsnH5dEKejNSTdlY/1yP9a8MeWHFB7L9kuL82yPnFOgFskjVzyajByoyvsfnc\nmKRBKjTu5PBUJVNwrbzROGH+rPLA93Tw9dgKVMmJkPS2XyYOvL9Nl8iRT3RS\nQb1l9nLuZTfJt0TVckiVFXk9UNcrLIqy4z9pxMHHkDjuFy6XkZVF1NH4G6K/\nI7MK3BFukdyw0AAj/gs3YfekIWkphuKg5WIY9E5w6SCKtubHVYUlRGgnQ/EY\noI+QjTSJQpYz5dMQ/vj0B/hPjgKMKnrYpXYnOVrPv+iTSYaP3kjpZb3GKffG\nuRf1D2l0kbD1fH21q0wnYUDc98MNA79hn+QoRge3XYKkWcH3UwXBGdKPUgi+\n3ExD\r\n=IMOh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9c9aSMAm9KcuuuCnvXqCxTzdNJ3oWHv5hzW1KBKgF9AIgSZe492ZXHEzqHYil2zvmvHlzBTGm9WI2bsfpvZIpFLI="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-87b1260_1594934465589_0.9806257943005385"},"_hasShrinkwrap":false},"6.0.2-rc.daf8209":{"name":"formio-sfds","version":"6.0.2-rc.daf8209","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"8bfc45602f640a59d45a017748449409b6488aea","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.2-rc.daf8209","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-44vuTsCWFbOxVagIX4CAFvvW3okso9m+7hzlvxP+y5JfBqiSRqcJHdTMPuwb8Cux7pXdufUpFDAWLJ5n3hRS0g==","shasum":"0c6e22cd18898d82be5592a527a3fde9e95b00aa","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.2-rc.daf8209.tgz","fileCount":214,"unpackedSize":1313597,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEMUpCRA9TVsSAnZWagAAoqMP/08m1YjPWHabs261FdLa\nxLd4UAJuKuOOgYj881JqcYlXeVZpXn1HYEFPStGf4p7giDU6utAdOYfzYHvY\nSES6CfF2OQMdv5KMoKSVa0jP93MYSWU15kCWO3UhdKt31x2FxCgO4Ilp+lBH\n3Puf1J8c8W53u90H2kyYjBJ/P0N0KGQS0F4LwHxazTxUmhPZ0q8xlnuj3WBu\nDuobdNVCJHTM8Vqp1Eue7I3PNadMWSRMBWyKYNRfHJwV3Wv8l6XnowBBWfXc\n6Zh5txEl7SjPsfIG9F7tEdGJ0mlgm8PQ1OyLuHkn5NNl1tOLprizYzbum0iL\n67gQNXPKPNCEGgwuKODbzw6fREftG4wS8JShKgld7AuI3Ue9dl6judf2jvu3\ndLvE3iCW1ssQQK4Vrfs8w47dNxRgibaMla6sjgmSWMviGJ8aQGBmG1sPJdYK\nuYxYINy9lws4svIJ0dTg8ORbQwrOGSWyM1AVXC3kIBklaCYMPOjlkDQxBElI\nF/hGriZWduzFV0oAKIgXuvxGMnqY0qMgX3qoJwU1T+aqHeAZvp1rcQsagGX6\n8tVwB2RtSBQeIgRqwpLy93ezl4M4U7iaI0nboGuqn3Rp4JG1CzerCdhQyf7h\nGUK44wXeXcisbw0vgqsCLTGzt/Ylx+RN/2ClUMTn3jatln7fbx707XARZfU8\nSzq7\r\n=2U/n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGZunRQTEkPBxVnEH+n7D3jKXN/j1iQDfdHxYeuXqLBmAiEA9qYT3jvGaeMHxbsf2cefMlMqxL20sRD+wmqwFjE0wLI="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.2-rc.daf8209_1594934569467_0.7324617140856635"},"_hasShrinkwrap":false},"0.0.0-2426a24":{"name":"formio-sfds","version":"0.0.0-2426a24","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"ef4198cfaac4636d8b7402df3b70a5f1fecff342","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2426a24","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-SQDeDNieosLcrYROEGl24hguAK3cYXl/lquEGBAfKkZ9+rUAgTuDNchHV54rCpMU/NmxLoyW/NpcLRbPOogb3A==","shasum":"7e66ce99b44b3f0156afd05a2af65a3de12405a5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2426a24.tgz","fileCount":221,"unpackedSize":1318111,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfESRMCRA9TVsSAnZWagAA1FAQAIk9W75p4qA/A/yIIuzn\nZhA7cm2qrmLx/J08I6a8SunsCdTn4/9ZjPoebXeNh/naPkybB309T5NLEw3o\n75xpAQXRSo2a1uhw5eii2IOHYf++xghxELHQHJjwh37e0Naa10GEMDmKxtEn\nbqMN4KLeGHx7p8dHdNZFXM+GCGtI6JRVf+844xZ4bUR95LRM5PSoOxmqscNc\n8vP01lNZj88W5+WOkyhmFMJWuUa/d93VeZmmuQdXMBi4AYiahmE8MZ6q3X4m\nRhcHHKC6v4AOLa2lJ2Mk5M6ycGUgvIFMoOpR5X0sy8wlyOQd7uA1f0deNuYS\nEewUKUxEnGeqBiqgDS02BOVsfBi2chmzoXrpI/MYhs/mKC9WG9ujLP6VeVhs\nkqOZc6Q4WjXt9mzeOsh9HYnC4HW1zQkAx0tLaP82uodRnvDZcGewFTojnoOf\nFrAIHIlSe48t2lBBQAMdvIZB50Il6gEWcp2DYs72by6chaHnM7qnIw/FkXo1\n4EDQDhtg8nnQdy8J/IBikaoJxxfFlOKWjah3yckPYF4x7aW71dLk5IXt8Osw\ncrJUx0oB2/OQHAie/9g5Ii28glHPmQUbWM4CKC6gLdskuaoHp8SSIVePIese\nR0a2LXdf08iaBtItGfX+Cwm/Cyhk2xgWsEsHayFx5pd0tooo2EXmumC9lp4P\ny5zi\r\n=aKVd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/SenXjgOJhmj7pG95Dtvk6FcfKMupNJ3w0jRWW55PTAIhAP8/VvjsJmZ/bDOSu4z3/Wc07yjGYEfeNRkEWUrDn9Sc"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2426a24_1594958924412_0.19517205967578954"},"_hasShrinkwrap":false},"0.0.0-ee21cb1":{"name":"formio-sfds","version":"0.0.0-ee21cb1","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"90cc629673501b3fa932d15bac820eb1ea865cf0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ee21cb1","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-NgE+7lxTBIKl2wNwHlj5WwUWr0+9bnffbnQlKGSb9GvcEbexDmyFxo1QFV3zEkNsQOdzsgamSrjKf/x5AsBdQw==","shasum":"b06183aabbebbb458d153525b7969cf9cfd4fd6e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ee21cb1.tgz","fileCount":221,"unpackedSize":1320075,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFgYsCRA9TVsSAnZWagAAn2IP/j4YR2NhBOYcucBvAO/b\nd1tfj4ykYuZKU9PrMlvvjUlNMdN2D2gjS5SVZnDZ1a721NJ+2x+DEwCKgyyO\nOuoLJYmF+v/NA37zBnLKWHDbh5KUTffiUuiGprfgQegQiFhuHEFxLDaO8C+f\n3f+HYTXSdtJwxqZz1oA0rrO8IoJWwIONXFROBSzetv3hBDlZiQ5/tPoMMWTt\ngdDX+QQaN0u9U0FQegfyzbpXLzJOzZxkGvzivANLItRB3BGyuTFXr0yZBHct\na4NP/+mNyUOZ47cYq4QqdeT2Vc3YvDE0TwOizESp/vy43ffQfQkX1hAhovQt\n0hehriUaDKeYL4boo9nCSSiJZh38eqhzE3YnSLaFik1F5KamMcBDidi0EdM/\nKYZJt8FZd0JQIm4YXYoPKJnls/O9TihbS29zXB4i1qrDZZXTvYeedQjblZko\n01K2Wv+nykaDkk8KHs9H29iUuHnYOHpqMrwgPItsNpbgtK1JvjffX7L/kdLj\nIPBiFRu2JutPYQ4Ja2U4BXfBzkzf8B9PswccnI+DJoH1bOi8UAw6u9kO0jDl\nQevmz6pd1Zx+ELyZtfAAfoA8VEhBT77d3+3uopk+IHC6XiyUFUrtDph1bnBF\nQXVZvUuDxsTekZd8LuBYf2/7pZjhBKQE+2ZoP8FjLgYrSuPibDpSS4HYLRym\ni4Ob\r\n=o39a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCz1kJrnDh9Po91RhBRDRmxulEbCUEVDZt6pagRKOL3fwIgIozfjPEFLFmc0BX+OFn9MbMlNmVidEMYbQAJCjMkO8o="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ee21cb1_1595278891845_0.8235335111400164"},"_hasShrinkwrap":false},"0.0.0-532051c":{"name":"formio-sfds","version":"0.0.0-532051c","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"368449744c1cfb88fc50842f11a41026eecdb810","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-532051c","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-hw1z338BBlk/uHmZr+UofE/BHP8XiGsRjeyjKU1uOYNVIdLxtO8Iw+XKw08O1p9Jw9J/WH0TW0QCDn1n1kCxEQ==","shasum":"92923a4394de365c553270c8cea168f4c87c8095","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-532051c.tgz","fileCount":214,"unpackedSize":1313598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFmwHCRA9TVsSAnZWagAA8MIP/jaiPAJ6gY3nai2eFQnB\nNOguK+NHdD68FYPpqTwR/WCEbk4zvYcwmDNJFjj4Q6Kxvb4/Sn+wrsYNzgk7\nfg9VPzXe95nhv04v9oyohBKvI0kYtXQvz1NNzHi+r0issYKtDmWzjkllSGJ7\nBYzjEj1c2Ze7IqBrK3VIzzohIxq5N1z5dWSra0ymuqzFd7TS/nVUoyi4wh59\nDlpb92odFdJRBzPS9zrmMi9wyXdMhb9z4nP5hWt6kLcdreNMtwnGSoIJwomd\nhOAlVawQZ13TvIZhMFeHzU9K3a9IGzBUrtXMyr+tx8ubfDP4aCvg3UWqsGOy\nf3iaCCe1FHCjjUs5jcw+6v7myQA028e5VGO7pZ0+mFJvFSpFM/nQiAntTqDC\n/ONHRjGIv1ffxjYQu72GFgKJC5En5Fm+p97xMqdZriE/CGsgcu2QP42JcPX4\nQuu+8Qz7R0a/p3vw2pQqVpbpdRSjqh3L8ipGr2mKM+BvTrNrJ5iNHY9KaU7Y\nZE6J8ODnA1SIgynFnceNMn7aGiG3PC6gKE3G/SJwVX7wkQO6Wpd0Gbr91AbB\nv1r4ALk5kHTwAQ8yHFIACqe/5XYg5qIl9K4lLwoCjsqtydReg3+Lhd8U1Bhc\neMPglsj5JjsQq5Ewr2lNCpgEPLn3wO2YU797mAZwiSxGls5g9hHP+dXa7iMb\nYpkz\r\n=gN5V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5RKUzxAngSRYCE9OsukT40gEsFy5gnNeNdQlgSQZxoQIhAO8bVt9RdbSfbWseyqbLnbm94WAnmK7ovu2xyl0B7g9a"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-532051c_1595304966347_0.8830695968599642"},"_hasShrinkwrap":false},"0.0.0-e822134":{"name":"formio-sfds","version":"0.0.0-e822134","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"f68b800f410960853b3dc3ebb11bddf9df7088be","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e822134","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-GsM6O3Gk3oyxl41lOPbJsDahStGl1WRo50sXgynm97EYKwai/xKi1VrtGsbOwv2sS4GQOJegdN1Ivypx8km8mw==","shasum":"6aad816fbbd092bb13f399981b60eb2e3c576861","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e822134.tgz","fileCount":214,"unpackedSize":1313598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFmy4CRA9TVsSAnZWagAA0WgP/RV82ocvHBIV74HTghg+\nnHdj3gSmfg4nYiTk83kFshTUE/SC3vNvp34LG1DbbsUiHi6JA+EHTaA6tLEt\nhq3RIXDbLv4Fr5h1/cmic85vpVNkJBW8gzAKLuAoTohdARVg7xuxrFqJQKB2\n2Sl+yNpjbujwF5xKf42Ia29RCxSj/6r+j1IC9KNfC9DC/FblLxH0u94W5Nm3\nO4nRN9FPEKx17HN1fnZVUya9XuoOg2yme7pb9WEXWr/ZR2a/MRBYUO8wP0S9\nwY080wqShy6UYafvuiXKTB4MJWMu6sUk1t4nsJygh5UvN7bP4oGJZbNHtYg7\nCaMLuf87r+6X7mW/rCOLnnp9D78K34nn3KkaZ4BmYZxOCOzJCrso9gtKEuGk\n0u5/uFqtRSEkxuB4Zp6Piii/sdkTxvHg64O9PnWZK9WETqSlXE31kQhrknH3\nU74zUA1do8BriCWs+YtW1TJzyqaWsDGtyAtAbIwJeGgMSq4B3H+6koI72nfi\n+lPIMFzepbE+9ctXKnbzdHStJtOttgyOmrsR6DM4UNzD2aFYV2MYNyX0G+E8\naoF/gWHjTXM/qnZrcz7BUjGytu+0U4u9ICpdN2sfbYOxcfoM6FMc1dH1505I\naqrDHRVqPTF5FTSRb50/dbXFz4AcLJ/LJlXb6BHZq6rMzkgzCX0yXVz/ZxxR\n2sU8\r\n=B5qC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGcPn504V2B3y8KLfBFYkvfD4uYXIEJvQq/9MIRQzKIWAiB4ZDGh+A1WazQqoGQJgWgynHwDVql8iFDQJHK5F/BuHg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e822134_1595305143660_0.23565255192901868"},"_hasShrinkwrap":false},"6.0.2":{"name":"formio-sfds","version":"6.0.2","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"gitHead":"337c75cc77156c9038ec9894eab8ade90e84d63d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.2","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-HdEW11kXd/1f51xMrcQ/4DN7NTsz1DrWz2VCe3AIjx36fYzXp+voe95Y54KkRyE/rjGA+WqrTIS6bJV/yPV/0A==","shasum":"fe0baac2311afdb1c39419e9d78b5525eb192ec9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.2.tgz","fileCount":214,"unpackedSize":1313590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFm8OCRA9TVsSAnZWagAAB1YP/3hrNck3dIzsI6AAQJRA\n8uKI2sgE91L2coANX1oRV4l3n5YTeMjJ31nXbyMzkOSVuGbvQXOSE5beeN7Z\nwhiK5xARDaU7T8PyYi9wRFJl+cxM6PWCYPTiZGma9JVf66PCR2Gz5OC5gDa2\ni1iDrNfboqkY/RAdy7Z2oj1elirqMyVvMoXGtmiTshYSIEukcVsWwY+wwr3m\nK9OeDaawr7id4T24juXOe6EJD+d/1xzgh+721dcoyGrNWvUC+QvQwUaS7d3X\nokcaRgiNOQqfZp72tykCjxV0ILJhb26p0lLCMV3ZjayZYDfixuj5mC3aUHGm\nm/XRaXuEGAvoao9UROiWJN+8NQ51cx4JTJXo6zdkaGn6xqhi1xFNEcrcIQxx\nv+BeowX5TuGVNOaZDBz1ZKcisWMWr/666ShNW5l3p3p/2HkY1Y2ipPb5h/ff\nKGezUj+PWlZOcJb+hVyvu54J1QimJCenBvAQC9g2L6o5yaBTLtHbTPyH6Lbd\nbSPG1T/Uuk8583VP7ZxZfwanAraCrNeBcFr6xzoefBOt/rwQJhSnz6aswqeu\nMjw9EErcaXgFcX0WilJwjJ5nSxg4SB8p9H0Mzehqel1vCc8+/Lf+DYn64WxF\n+DdPmiY0tHbBW9H/Wiv4KCu56VACb6X0rvCojYI6tWwnQnfBJ4CPA1dkzQSj\nGnQn\r\n=QZGe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmFihvNBhnU6HoGZAhxvX1I4xS17Ya7188HRJ5djOkpQIhAPLIOBNEduGr1Ol1/Wtqn6cwCkouYHFh7wAovWMgzLZU"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.2_1595305742035_0.4415907407443538"},"_hasShrinkwrap":false},"0.0.0-c963d92":{"name":"formio-sfds","version":"0.0.0-c963d92","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"e6fe7dff6c3571bcb2efd7e3301af8e554f48083","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c963d92","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-raxEly7HG4A5J5LKbL0VgoRNZwTiO5/Ugm6lWmgrh+zIihA1P8eFVPjtKCv0yndLPqPM3n4sOmMPbpdfFUKJVw==","shasum":"bc3f6c0e6ceb0f77422bb27b7a2ae5df5d10fc69","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c963d92.tgz","fileCount":221,"unpackedSize":1330391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfF2uxCRA9TVsSAnZWagAAi3QQAKMLDQmuxLby8ilogu9F\nWuPiXKpUVk+2p5n8ITy7VY2nqg1/wy9zrPUEQH0Pj9AzEMc/3Zj20Bb472gW\niDm53/F++SFQ6VdUHBlNQwk4WcG6mnhnpgswzpi4FJfm4pSHGiLGyPlKqEbc\nGmASLVE1scSTDw3ZzPa+KXZ1az6xjywktAgJkn2Snenyyyrk54620s7h/h8b\n95ki+1B/qWPqjafZhxc1LbBu/HXdsdsEhr9VoYQgpqJDhn07IUQ69Yv8V4n7\nYT5Mr+UXwF1mNsGjOp34bQWW+lNwLcw9XZIkyD0BkbVN5GyI/nPHJGhJvxzW\npvpdcoV9izAHXTKh/QSRn57eKkhOTanG2Up/xN+tbJzBgb871I8rOt1jgrc2\nfplPKn0jXtx3tJfIsrUR51zmmvjcy6KYNQXAoTsgFrQjXx13EHk6A1evNtJo\n9OnbrqZ+3KZusfwBBAHQa6Xl6HKuLBHJZr5NO69sJmmS3BQK2nMjdO/nrDkM\nKJwhAvI/s51dNd1DYUG2O0hBUOM8pI9BTrm1AzDgzt1L/Z84xWBoqmeyPUJM\n0LOlYVbMDjlm1VYjSHDJaTE0FGIjzKDGS1XDMRRC7Xf8IDChvILTPiXWZYJT\nNcYzPCQXIYFf6b8XhGFPIawIuLn99GNTfVRJ9F6JSAThkWCU27mnowykQosW\nquAL\r\n=dnCS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFzLZ5sFRzdfZhNhNTwhyXPq0QHMmKAq3U2gJGrJUxpgIgCbN8LXmn4+1HhpIvRDJK1sR1amnlL2ZFCzTQ/CzbrXM="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c963d92_1595370416502_0.6489238509633914"},"_hasShrinkwrap":false},"0.0.0-eac2f1c":{"name":"formio-sfds","version":"0.0.0-eac2f1c","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"7ea1d04f2c1ef990bd9e1430d689e05dff281fca","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-eac2f1c","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-sb21PZaW0g4VPpyW4mL+VxP3MOsFarCl5IBtFR1wUHOfSzeioNr8Uj8xMapH5Zp5NeISHeAQ5t2pdXEF693img==","shasum":"732ca20c2e2100a6dcc2fec03522715044789bc4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-eac2f1c.tgz","fileCount":221,"unpackedSize":1330838,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfF3BICRA9TVsSAnZWagAAevQP/1ghgazmQz1xjtN+hSGY\nHyDYYrfLNknetmL4mCPHlJVYXwDPbUtmHXYmfqfaHd8w22kUeQdQHfK5x1O4\nB23ul7eicegaQqrKx+juDWvdHThW3vDm7FMI/EUDDvVv9OWEecwDA3Mfgr98\nrh5hjKW3ccsU2rMRj7L8svycKK7acp7KnHOO9zhPjawkRaBkQDB4JQaKgIBY\nA6n9Y+D249EbZ2Q58cYwJXiT2MnuVAxfXFDJAxAgZj+Zk6Jg0/MJC26lvZ1e\nogYp68bH0eOCebH38gQHyte/LF6d9P9MqnFFH5Zs/38xCJGbeOWJio7FsqH4\nbAxYs2qneGRmfr/Wmaq9ISRlv9ZqOvor08JbZ/Ka498PFV4/duXwTb4MYZ4R\n788fbzIXb5hejcFzIfrDgX47Lx3neLaiX5PiSKC6IH4dGZ6B/lKIQTy5axMG\n5GE+lqdTOz3BmnTK1FWEXGBgrSgtPwOUX6NVcP3HcvXaGXCPmfL5zUV/tIij\nuQwhzSjbSRqAbG1VFT3vLPsvvmhwTQsE83L6PSJiTdYUE70knv3HLlImVkOG\nwRFR6MRRDoXZhnvKlh9ZkmbY22Kh0yR2OQQztoM4370q50Mosnm4ncmDIoP8\niTf+N/Tnk3cL7EYRuFzJ0pBfzX1usXSl6nDj3LTueqvyRk5xnNVnA8JwCSG9\n0AQa\r\n=wuxO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCD7i6BNJlG1JAYQyAEIapL4ppEY2vuOekkh9LQ7nWncAIgC+z45Zhv5DR3UoQKA2BL28RiqNdp4ut7TbYrdmRW6kI="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-eac2f1c_1595371592165_0.38405863430048237"},"_hasShrinkwrap":false},"0.0.0-2c08d8b":{"name":"formio-sfds","version":"0.0.0-2c08d8b","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"88b37ffc0f142032b3c19151817274d15b08a0d0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2c08d8b","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-iGkLIgfXjX0bRy9xexvSUOlG1mSqxm4/112TY5vJZeV7ZD0H6WL7oMrIWU992doIiRB8c+0BB6/2B+xqxVyG5A==","shasum":"7e2f2d3cd3cffa87cf9310a56152bc8812a93254","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2c08d8b.tgz","fileCount":221,"unpackedSize":1332444,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfF3aMCRA9TVsSAnZWagAA+KIP/2cZkfc10ZYOGaoj1+Od\nE9BPPvOEXVMpf18l013QvUD2/YZjrO9ms8JvADQmvqQOP1D7ocW2Gs7ONLSm\nbnWOKkZHOcIVKtMtKY4PKverBBqv5pFMhTW/GVsLOC2MshcuvCg20UnHS3sv\nmDlhHAIYckM+KQR3xIODxqlUfx4n9DZpdG0b0JEM0ZDAFrlpkSRkv1YpU91A\nqYEO/nFBHYljFJnITcSC5HMQu3R2uZGLX4HK/xfxqdMaKi+l+WiHT3fO5+YS\nVNrduglsyL1Y+em6T4lVh8fXyYyELTOfJA+Auq3MQoRLSUG4t4VAOBHxDXLV\nNzJRBsgmm968xS9CJ68Vs1C1LxZFaLgM/6U0KJxVmmvRfzvW6cYQR4uu8FZn\n8Hjn1ZcEwNZj+J2BgQrTjgoSoORed/GsvLnuRQPc+r2ATkbzF7TOwzjiJe9E\nP55otthEYdZc0AY6ljeDzV5msiX++fKQVr51d7n2OaNvQwAMM15KKllSyfAv\n02Bx7iIOoCWjBqn63+4ApXnjbuiTY9SyUZShH10Wp1+wInEn90BtY9Own/DR\n97CCQG2fkEYAtcr1nwrDWWupF1AkuIDWn9aqZtKFOP8fW1teHOrlaJtxkwq5\nqBbEoIxfeQ5VuThur/aeKI0HiAZjTgisRsiTjMomNqTial5QXtbIjrB8DD02\nNnhn\r\n=fXXt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD41jwcfWxt6UhcqwUZmGH8eN1ZHlvztpgTLHcie2/mHQIgYxdfcnZ12WDtS+68EGtnxeWNenNDR54q4sPTtmC5k7U="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2c08d8b_1595373196260_0.44060950524331877"},"_hasShrinkwrap":false},"0.0.0-3e0f1a2":{"name":"formio-sfds","version":"0.0.0-3e0f1a2","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"5e33332262f7a54d8be2b71607c90ae47986c907","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3e0f1a2","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-95GJdwB/yWUUI05dqu4fvX2ChIKcbHVOPpPmHvPRnnHzhwe+Lp9SdGQ77n8ZQC96XU3Yw73Qsbp0bNe9RxKyVQ==","shasum":"7febbae65a16ab4e0de84b65956affeed9544098","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3e0f1a2.tgz","fileCount":215,"unpackedSize":1315188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGyNYCRA9TVsSAnZWagAAh94P/3cLE9qfgcQ3/HKMFXt8\nALQxyghjBL94CuzlSkHZA37MmphpLr7nprOyLBiPqqqOldb6qLKJAboKOfuM\naLeFjhZ8FATOzSSF/t0ldntX3V73cgomCm8cTYpyOgu7JkpDsQMEWVRNKbS4\namEprm+E2Bf5UkemOmHst/1568kMRbownZRVNOGHDoApSHvHxRa47KJv3FbM\nhjM6YtuClEv69UKUuDHg4FH0KpxfrdEHlG52yL/5d1sTQNGxC4SII36/7suz\n+T2GzW7txjRIagW0oHR9En3Ug/kK3w0Xk1Jv/CoGLsQgNRJP8c4ydPm9o/RV\niuCuFRXN1qAV8NT7ocwklRqD7T34uku4RaifUfp/VmjfpQsfbwSwvu1XQXPa\n0tcaDQswKvLceaCwcg8JI2dq79Iz9m/p+zXD4wX+lRvXi166NnUfDxf23H9d\nbaZLHqR7sYsgu4KBMZDLpEcc+lNhNgVsXR5zHz8afiGojXVtlAGzxOt4vZNR\nt+MX/vuJUakgvoIUafxTk/zvRIlDoioAhI+coOinfjx0nvGF+otZ8jwkPxTn\ncDKqnq6+zfrPfTAfBx40RROoJVXcNNnkKNpAIGReuYygYYTim6mW4bq9Rouy\n2sLUK9YrBDOpxp8G5bGcyd92ioHlL+t/RttHoD+3RROxBI11bJfsecmc2lg2\nvgT3\r\n=bbN8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlUkXk2r4UPoL+fsWpKPGcb3hCExYIAbHn6EyNWD0pJgIgAed9dw58r4jh3S+CI6lGyi9Fkp3QAQ3QFHeaGZO+1Cg="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3e0f1a2_1595614040008_0.8739776841209095"},"_hasShrinkwrap":false},"0.0.0-d3a80f3":{"name":"formio-sfds","version":"0.0.0-d3a80f3","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"336159a891c1efb87cc3eea1404730a783c6a65c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d3a80f3","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-DNRISGxzR946ERHdv91/Ek1PIPvXliTiOiH1NCgYlLb2KAxX9ZHE93J2fe3pIP92OvcSxkmFd8BNG4+BTvKNtQ==","shasum":"10ce774af30b229fa325dea46a24de3385327518","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d3a80f3.tgz","fileCount":215,"unpackedSize":1315055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGyPfCRA9TVsSAnZWagAAOIsP/RRK/o/o0ZOuBkzVGBUz\nI8GnmSUsE7a2+Uz6Xmg1IzE95x4pzLLSXV4Ya4vmVlZuyAt+G7Mq2kZLLtCi\nXNEbOczjTXRudXE/H2mhrlxvWAzr+D4yOdlTrVJkqjRBN6ngl1XGW3IY3uhC\nXVmhYivZow7ZNqdJAI5fTGnvT+0Cqp9sVTkkTvH0bgP0AMjRU8X2SLWULFns\nffO57EMpM0q8GHBPc6x98IPmqkAI0wBmizqjzsNTP8E46flH7oJrXcYe/m1J\n7cCXX1yXhTDcT8GFNSkHTsk7N4fUoAiYoBDrIrdgFRGikuDxPzrLlqZFI8wK\nTSNbUZTedrJ1QgXZQXiCSq2Db1WUR1FJyYuU/rI4e1YveAPlENR0t8obrHkS\nQtYKCxs+S8NNo7iE0IMBwkPmSxLGB7N333su5JgstFAokJ7df/usi9nRpiz3\nWprGRhneQFlBrJA83jKMDN5Sjnrltg1IZBY/pt1hPoy3TDguWUvdKMFdghRY\nNhl3Rph2Gm6pGQI6bccKxMV78wKv2cft6NwND4dpFHF29SNMs0IUBj9TAHTa\nzmadYcUzpPukVkjMQE3ZM3WxxrFwb5xBEmdO7Lgz8ZnoXgPj32jkIbUX/TAM\npPuEmMDgtceqky9fF0j2pgrDcjH63MsQsllgM5c0F21RE/3mxazjUUaDpXmU\nX7M7\r\n=RbSB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICmCtX+wLBNmpAQHFzzPZXk0+TGpX2tZBzJRvssQnkAFAiEA3sFX4Zf3lW5p7X7MSBOzJMN85I7FU+5Vw9B96vlane4="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d3a80f3_1595614175119_0.36538953420598985"},"_hasShrinkwrap":false},"0.0.0-cec6491":{"name":"formio-sfds","version":"0.0.0-cec6491","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"0a82759c077dd5b2e875ebf97b5662d7735f532a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-cec6491","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-NoSvtZjSSxWQw8NnoO1qwvRu7r2HRD540TC0SnkLGa8veMwtbCaIxxbZiCs5mEochradyHhY//GiAjOOjbWs8Q==","shasum":"42d5566b56b147b52b52cea58af43188cc3bc831","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-cec6491.tgz","fileCount":215,"unpackedSize":1315929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGyv/CRA9TVsSAnZWagAAIqwQAJoDaFFveT+aawiMROVH\nsd74Y5AcOwBDziihdRBUXk9vdwZzHKC5dJ67j5RaSuRnaSsDBa4l8HboCjKF\nDD7CV4vCwmHF9B/w0IU5d49qjlGLENbPQfIRq8X0AfIzf/hEl/IWhjWb3LZJ\nVD7fhUFhwbY/ElC90mW+xfgyE5/NPxcVtqVgX6SVqu2XLS5kGO7b/nNaIhoy\nVlofy4eFnLuUnH+fT8nbdLTPAYbLtTMMMhI3tmHbK90W7y2Q1dpsHxqavnSg\nJmL4fLiqhJX1n5/Od7ewPFJlF6VbQxFEH4laqfcEhdahLcEzV2sdCzt5jsoW\neYB2eCMf7BKY43p55vMKpvo09/4jngE4SiN3IE2Qec/p49io3kHwjTIysU8M\nalGC/H8IKls4cVplxHobz5vDHZ+p+0pHgCLK8Ts2qc9+Ew6ImjTR9jD8q7Fe\nwlusd3jjZdVkMjHTMvGazbrtMfog5hWYsEHXMD7EJTZwcDILy9wqgQUXWxFa\n/xcSkBBGr/cUihLyx6CUZOMVgQhnqJIcWDn5I5BGOXmKPQcWefHNlPlVNmxs\njjkPOy9+O9jeNSQimB+X2cxY1KNug035OWxt8JGoMSRAO2PF9UJeA6kVwPAp\nYPRyepqlD3Po8DRGITNLnzrBISGKm3UfwpOOXDWEMxHUtisbbNY3Lx/CdnkC\nZJql\r\n=VgWx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXWBEtw//hLA+M6fnMqLB9sBX0NWA5g+rdpw5JRVpY7AIgZejfRRgWBZHHPjKA2wPEGbh2fIuBaYwUul/QB11nUDo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-cec6491_1595616254376_0.37506771822576956"},"_hasShrinkwrap":false},"0.0.0-03b1f3f":{"name":"formio-sfds","version":"0.0.0-03b1f3f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"cb191a08274a79293187c470a187cd65ee37eac4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-03b1f3f","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-QRyIMmR2fYi0S3g3w9C4VPzOPtRzMr1vpWkJKNaQo4oAWpIwFWb9wugthgRgCewYq6+P8+2xYUGx94HILeW/3g==","shasum":"a664387961ccafe4aae15ca949ddec13d4f0f7d4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-03b1f3f.tgz","fileCount":215,"unpackedSize":1315933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGyw0CRA9TVsSAnZWagAA2xEP+wWQdv+elbykYMf5chwy\nOhHfdSrPjyvYiaoNCaL9sEQj5tLlU8cBtkDbpcmo9QM8uzC54N0Lzbx0XRmo\nl2K2VUXznOFOTJI8BHKN0idPJloz0YMmW0r1VifWk2Umbefl4TqJxMoV9Z16\nspyYLrjkUSsyvfHbc3Y4XWEDYy1VpE0f/YzN7qHooBCbKDr2VCSb2coSbKuy\nGBrI/iDm+tDlz999u8ju7jtn8/2EhwkpTu1sN6YHnjDvOMv9EP87FM7xhrMc\ntJtkmdAVVgjSJlerC+nMyPRvbCtFlbhfkD4/KWQHm8UeZejYIyCCNnFwCoPF\nZjeLVV0vEqFR1AiVhjL3R01H799m4az6bnkeHJEA38cWqGnH5AhiKFj5aR8J\npuvgDHY5rsvGRFi2nl8kP7+Boaiu0dhgsvWaLqESxCI267JDz3Vt8wvK4npR\nA88NjC43lVB3XeltvUSBzwtCVQPdQsDBv9caYJxGutEBcXoU1LStGu5BTveA\nQcmMWVYvr+VeRULkTXK8CnChsd+i9OWHsuRAeN76n15rOOuwd35Pji9AjEgE\ngK/8cLf9/LKSJeGuYJm0d5pYRwBxF07NvodF4ezJsFis/POGpDzuu9H+sAxt\nubpbPM5ga1tbvlj9CUEARv1sJoAfZcIeWLqMvknOCddAdV73iVQiisKonaBF\n43Ma\r\n=yA1c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEaFJ00U8cMlunlL4SsgfFohlngnR6Zlj/yZTK6lHh4AIhAPZ5f/TCw/4naRGLofWElrH+H3J5zGClj/5kixSDty/9"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-03b1f3f_1595616307759_0.528751352247242"},"_hasShrinkwrap":false},"0.0.0-206de68":{"name":"formio-sfds","version":"0.0.0-206de68","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"50128c20c59f917e0c84bb01a9eadf99c79d8253","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-206de68","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-gLZiAqIiJwLtgWy3y4kDuFLDhFWjorriVJtIRSzrk0Gpw4vJiXQQUD81y7L0uKv5VAdMJ24XUKMq8Oh5IJAapQ==","shasum":"eac5566e67e42993a4b9d1583c65d73b9e4bb1a8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-206de68.tgz","fileCount":215,"unpackedSize":1316034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGzASCRA9TVsSAnZWagAAZkYP/jZTHY2WERkQducLauoR\nk3h3RA8QB6LYjC+ukyzjT/2ASchGqM56Wj4iZbPgAb18o4pp1GFBDo2P3V0W\nvu4aNssBsKPfV3JsDyqg6llH4RQ+2OcmqlSsuakJ8vZpVnKXzDAgy1df/hkM\nXtEwapCg0vQHnBZODmOB65LAGq7noMMmCkB3e/fJioIyPIDNwhX8mFp11hsx\n9oeTwH87QM2E9+7bGhygKIYPEP5IQMaHSzEHL4i4W09rTKTg2r/toVq7KG1k\n5DCRq8RKDx/Ule3pMktvOdq2mTs6E1FIGtQdYYag+cDaunWIO5HchgvSb3ev\nWAeXUAq0RvWD2O/wcLuAnwdLuj02VcIWzvFvRtz9xtXzPKOxaySmr/Rm72y6\nSoM40dwent4V5j4Jq5L3D9SngsQBCgv8HOcNCsTJt4ncQnlLdjWNUX1T6MJG\n9jHxmP9FvZ3MFYH7lcyIc0cbQlaT1nKuFy3N6o/4UElIuvl549VHy9oA0Tg9\nQqtmpNttOr2OI0EE2JjuqL/ZttwL78Mupviwrjo7omEGYXXPYPnKKAyBFWM7\nWydGscJYGBc9JgGtSQrNHlnTiaFbNwi+3+TQ/0CQuruDC8V33NvgwWTkGo3M\n3HS/YauMC/q7PM7EayQWot8/9RBlpSRixwDAkyJ/H+Z+H029uiCaT1lgZlZ7\nV47y\r\n=vyZ1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBy7M2Ag+4kyz4kYNVuBHv/m/8Ymbwvm043CzO/eVOf4AiBBubm78BSDuk0tKRED7Z18CUOdzxJRHd2wj76uD/I41g=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-206de68_1595617297611_0.4139126976057017"},"_hasShrinkwrap":false},"0.0.0-1f418b2":{"name":"formio-sfds","version":"0.0.0-1f418b2","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"29c22a2ef15037ac4b13815742b66c438046eea8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1f418b2","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-s3GjV7+7mvy7/LFYA6oLDRuNOrNzuwSkdw34BIGnVwwr/g3e1kRUGFXsFzNRQ0WgPDDacNWOyg+1PWq4AeXp+w==","shasum":"0de6760163fdc5cf14ed36abe076cccbf77db23c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1f418b2.tgz","fileCount":215,"unpackedSize":1316034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfG17bCRA9TVsSAnZWagAAS40QAJdmIOjbm0XKCI9UcmMC\nR/+HAvxaW1lGTm45/KkuuP2Yv6yoHpaUHvRI3VOw0rJY0oMmB7wUf8eNWl37\nbpi7Y0SWN16OjfDSxYICoeWMqZq/1DgOsFpeJpzeWmkJJfThIw0qGk5/3bJb\nDcZK3flB8N3qrzzNmDJxQr+K+dixoXxSJKHR9N/quxMcSZoO/KaPI9rt2baI\nnxtTASpYd8MZuvKW9SIx4dhsE4k90GdaO/zoZtBvYHRYuaOL1BQaUBBXXH9u\nsTwEj4D6bPvu5fOO9z+nvoW3EvLLX3v7FymCw3ZZJuP2b4geNVe0gZU4nVmE\nOGVZzUPjkSgBPOVJSx/sKKKiKEO+EjcGB7qIi6KsRZ7g/bSyjLdEIwQHtaDn\nA2ix8w1eIMKZJIC7vscE4ZMUUNFr3nlomWBGLa9rNAucBFGjHos43ZoLY02N\nMxw9+LiWmelNGiJHnn49Rj8ECh56W6u0Q8sS/KnCJ9Vz14WMxBjdOFybgQal\nxDgHs+rcjuf2c/rIzahs6oD80zUVFIsjv797BL3qYgUNIlDPZsgIC5elJBYs\nsBd70c5UWvWKNhrq2hoztpHGXmYtO8YO+LXI6NwF/OOeFF1YaXWxjZ4SSdtR\nJVGEvf6nm4V2PDSq6+9EZdyZBHsTnc6+LAUdZ3ZRVvDN+D2AXq/q2x30beVk\nGxnt\r\n=PGJP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBTex1fNTYyq6bUyTl/gl74rPsBIfaoUILxnZ3cKaA7FAiEA5BbM/rKsdMdQiytwNG5liz8oP5YnF+LP8Hzm+5l/pYs="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1f418b2_1595629275009_0.7683861585805225"},"_hasShrinkwrap":false},"0.0.0-abcb64f":{"name":"formio-sfds","version":"0.0.0-abcb64f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"479ee8e63b79161a0d153c872a9cca226b71d2c0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-abcb64f","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-nJ85h6xF3/IjYocykyImGXdILZ4rbcOgPC9wv/fnXwfgPW6g7UPqX8qTTWigiLZCwMbucf21oPfDNx4QbTISlw==","shasum":"40b7cb732a3f7bcdc2d475e4a4e8656c7c6c5a14","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-abcb64f.tgz","fileCount":215,"unpackedSize":1316081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfG2DcCRA9TVsSAnZWagAAfP0QAKONFjd3A6doTNk7qxsG\nOIJ41u4GjfWMaN5AfmfjCIov6h0Ds0P2ZLXXdr+xH/MUuwe2zedpIqoUt6/c\n2gOx52YnvoSV0sgsTl1ZHxLiBnyx/Ps93Mu8lmFErUTRkhT/fD5uuQqCJ59m\nj/jPLlOZItquVy/udfJjaROmfpQejl7Kr9IY4B193JtGyHNR00F5Ipsze9JX\n0PCcTuaRHdF4Vj3K6uCa9+wfSEHUOIdVcS1QaK8L7D7rIruunWhYrRdS9mSU\nHyIN00oRsIkYzNa7jzENAAg5BTMqouw4tHPJ6mynC0D6zIcmqp7qHu38CONz\nmNYzHjJVPr/EgtWHpR6wkO0MJlYDUN6uh49mraNxPyRh3TAsyoBHf9aRn+vI\nqRbQs7NDwEAxC76a2muX8zD4FX1Z09pV1xXJ+qPxFA4BgY3l+M3UNkM78bTl\nuf5XtstnCIW/jzv8jpBgJHoh1XvwJpg/kmyCTNqmqTmaqrcQg0m+ENvr4JL7\niHIDkmCLSy/cjQ3uPHM15h848pmpDa+ThP6T9Q+biH2S0TPGsAPEpKMx9fo+\nMhpts6bAPNzLMahPHIc6yJKeB8mLhXnh6GwAVkzAeRdQJCDTyn7l6rViz0H0\nNi2spQOGssM25jgsSVJgnflawxdPqoXC3uDzPIk7d57S42p3Rafzw+43EUp7\nefCU\r\n=1x+c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjw+0u8dxGDAo3KJtnpbxK0FhvWDT9YaBCIxDM97yhYwIgR11cckh3B3gPVHnyPg+KbcEPXNnk3zFxGVKO2LoUS18="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-abcb64f_1595629787819_0.6870954332319079"},"_hasShrinkwrap":false},"6.0.3-rc.c69e779":{"name":"formio-sfds","version":"6.0.3-rc.c69e779","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"b18490494567bb00c13b666c14c83a682e7dd9b4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.3-rc.c69e779","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-8fQYVBx1DfmfzRHWBqXkfAHDTWMngCnb8TgBRBBAeTIxu8qkx3HwVkoDETEIQtjkgYiqc6ICmrAKvv4f9gs+5Q==","shasum":"e9f61dbe98b9145cc9a2165f374d58d75f22e7d4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.3-rc.c69e779.tgz","fileCount":214,"unpackedSize":1313601,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfG2GvCRA9TVsSAnZWagAABWQQAIuZl2cQhpTT505Wov0d\nLW/oDi/om8GJA+7W/p+c2uLO3qdHr6Zw4k/eKAzW85eDJCDWRxmWUX0upH+q\nyy3yiU6BHJLqZiAbQ7W+fi+rK+8PXZk6WXg0o82AajsaHKaMJvdZHcoXHGwZ\nJBYL8fOqkwJ97em5oWagyf1oixQaDu0gVZChKrPE332xuGPqDmV8RA+BLJrT\nc5opsnQLrfvxx+EXcVkDv5qByotIQYbhssUrhce8Y7Cs2MxlKlXOVNLOK8ax\nNn13w47cVqryw5V6dTM28sYt7aVApEpcNinvdUYtz8ANVqYp13rS8V6RJI5u\nn08uv41ZaqkVuHJ8+zWtrWH94FsKbqm0pPjrKSV5mWLgm5YP9eA2eKA9P//p\nqv1cda2d0Nk3X05iEtqSPqj3NbyX4VOru9RUjZh/gJme4/8x6I02pHYcOsbN\nMZe0Ycn88Yx1IahXgkIp3bLlm+dkBUsTDMVzeAi8Z59p3P3MLk2H4Dlt7I8b\nkEEwRZj2wQwftcDCE06ZB/4hkMglTcGb9GmRV9EiBInzXDawNYt0SUV5Ff6v\nqDXb8FBOvR4bt7J4L3lbyk6JjOCKL1IDMEa87pVFMnTaf8CDUWIwzzX/A9xT\nYpFUP06Q5epdAaHVpp5b4KZ0XxmVJXNvr4HfTEfJY4tUbsuqaq4xbLumwa1R\nIUe/\r\n=RqqS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRHLscxYyO/EWsLfBwLaEqPyLBID/zGt7kgYWB1J6fKQIhAKOIz7QczEcIWLfH6sxrOQr7RIdVV4VvrmUxtRv572jk"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.3-rc.c69e779_1595629998594_0.22093317857441686"},"_hasShrinkwrap":false},"0.0.0-34932fa":{"name":"formio-sfds","version":"0.0.0-34932fa","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"3e0658fecb64b5cae9e92dcdb375e1836470219c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-34932fa","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-KSlSs0cSjoPfTgQQKdsdMkDw0P9s5nGPk8g+Gva3rUy+IebRRFRwazXRPac2O4s8jWzXR5IclpGs3xT7kU0Gcw==","shasum":"8ccbf65f6798ac31dcf976eba81c1ea71b9fc040","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-34932fa.tgz","fileCount":215,"unpackedSize":1316081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfH0aqCRA9TVsSAnZWagAAfHgP/1VmO9yrmUoCsmh1G1Fq\nCir2Mq0YVXQKW0iJG5qhBMZtgQjg7/MDaMu6GRryq/TYxIIEavNozwFr4/mm\nfuVHQrp79t6RI0L8un5IXlsPm1ECC16Dxit+XbewakG5tgUIY57QDahVRshf\nIXxYRMpqMKKoC2Sh9PZw4PPd9nrV+9CjpO8vY4d1tFWxpAS1YgSRL1yhAkTl\nzEPAcekG+my3M0Z3p6T1GIC3Nu70yIeiL3hQaQurwOM24YAN88SKt95BlscT\nBC1BXhYnMvZXy9Q6lJ2UXXlu6qAsc+RCkyhcZ5ObilQmMGKfYKJPejZQPZ3j\nsmnWzHWr56wfOmf5f7G4RwQhyMupuolrrSUwDOBMqXuajbFL+6KfIwfBKfVo\nTym2ff7RgFjjbsQvD58MPiPwTTgXt/jCzyPD5Yk3v+pynKEfvrvMoEOUdrQr\nPAatpkmPaTtT0AarBvx3id/mS3DECDrfxQdRw4eruSIbZPMuWW0RfsmHwYJG\nj8X3n7N3D82klVt+4R5jiVBOS0vNhAV8wx64J6whTzYnragZVqIcQfjpCG2M\nEw29xuZsnzxwuOF6Q4UkbTifHy3AQeKksBWnZAG+tgnX+7Jt2KsKdR3MX8Gc\nwYJDryQiv7SExZTSR0Bn+Ys3vQ78IohW8JShM/9SK37jsDCGICFDII4r/dwP\ny/vH\r\n=cF9W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCT66R982t5W8YUY9Yaz5bfZ+O375PFc4ODJyW3lXeoqwIhAOmxXxwKHqrWdOSM/N+0eS77PWLMhynLtWftuq88t6Cm"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-34932fa_1595885226126_0.7050782662783912"},"_hasShrinkwrap":false},"6.0.3-rc.045ae6b":{"name":"formio-sfds","version":"6.0.3-rc.045ae6b","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"a898fb8186208f6b8d2c72407f615f2a0144613d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.3-rc.045ae6b","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-9TEWeVNbn1cIzu1+oDoYUjcXKIcQgta70dgqibt+3UeQM+Gk8ri6aqJpQJ7MmEZsLZNXzVXJkBFIcDVKCF+dKA==","shasum":"51d01ab0694067cd970db940b18c68fc142aa8ef","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.3-rc.045ae6b.tgz","fileCount":215,"unpackedSize":1316084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfH1GuCRA9TVsSAnZWagAAM4UP/0sw+AVJhoiLkqgdyM7q\nslKdRDIkNq9ores8Inx38MUQoeq1xG/crVDrljL1z/9fNIOZXOziBVVTUskF\nMFLk1TllMNXLHfRQEtAapCssO1t+lQHeXE4JLsFttJsIUDZk9a/gxaVTPQq8\ngpJ/tLoJxclPSjaIsanipACPnAQaYMeSxBlSSs1UgdfFRq0GFKmOxgOkT/P3\nlSOaQ7EtnFF+NoCnVVWizntBVi3ZnaDbMn6lk4s/KCK2M+r/DkKD2BuzMY5c\ntxOfj6Hi/YO4SFFw57OT9tbI8w9pojQ+HaqGSAWvdGmVkY5jHp7443Ari3I0\nNzjr7K6l5lbf7fxIwSjisPSutUgjU/lLkarnQ4j4JKGFYXkfZlUod8LxEYnW\nPsCn1RTxgSZyZiGf1eOTwljw/MFsjabwstRhkUWaOoAU2ddtu/j0Z2HJicnY\nr+sNZQ4Nenhch15C9yTQwpkWhkZ6/cfS4ZCQu4lukCl20hceYHW8Dm/vUtK4\ne04Ezfjcoa1fSaNjAbnH04nhRfCVau7xsMMLBpFUU9tdKsMSyN1XyZ2yNN21\n8UkPjyBg0zQzbl7TuE69Jo8eXyqSyIsVd4UI6qEBpOMjNJnBtti49zr7jlOg\nnQXwDSCqiah4s5bNEhmw+DDd4inrmKGQtzDyemiRPBEtTAThYRiffAJ2sU67\niI6a\r\n=Xtyr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEx3Nc7aDSd+yH8s44/OVVY0mfTeoC1iiINgI4SSrg+yAiEAr4vap736rwDgupqtIr3B2oLtdrSrbgMKC2jZXFpBfpc="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.3-rc.045ae6b_1595888046118_0.010177453811180737"},"_hasShrinkwrap":false},"0.0.0-e9ea13d":{"name":"formio-sfds","version":"0.0.0-e9ea13d","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p 'lint-*'","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"38ed8cf5307ba357d594689da49f07c8bc53bca2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e9ea13d","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-sJcpyV+8PEbIGz2jo4thn56kgN/QcepFTfXHuk6s3mZ4nkhZU4nwAnVwEb16AQ1yN2WkBRufdNBo/C/Xffs9Fw==","shasum":"1170bba0728a058d9b784799dd21d97113d6fb39","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e9ea13d.tgz","fileCount":214,"unpackedSize":1313598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfH1JRCRA9TVsSAnZWagAA+MIQAKDjK947KThPhlMwluCB\nG2sdAJV50+8CCmaL4jiJzprPIoLuR2TJIxf6JpOHfJOBYJJ386aGD8nB6UqC\nPT1fw4iRHmdYGJeF5+a8atYpakTB08zNdmMu+7xaFzsN4BBfrLJpqXYCsPPZ\nokIe8r9XdHPTrZq8TbWJseGwfMLT7hwX+ePfgoItm2fHOQz6yCBY+xCH5HvK\n9Zhucahpa+Cw3+Ro/Fdz7ngjcPzy80MXVABjjZ30pHTmS0Rq0aqj/8lZimi6\nGGAsBZtK5YEex+ni0qDg1DJE9qeQ1wktK098FQ7FcSd451wcKG6xvZaRQ1AR\naDh7x7Bkw1NSixFnDvATFRClWXZ/WPe9oQN8yWuWbc8CY84SJTPDPX46XkIG\nTHRFsSGaY9q/HbiN60G8cm4xzAh9aqxbbwxiYuQEjklEpj5ryVVZ7wxCoxUR\nMvL5NyKY7YbVkQmFLhjmS+IT3GyfQLDmyV20eAEUqdhQyF1H7PFCAKKzcpj9\n+nMyVsSER8Af6R5B92ejL9PoY84a3bgflJpi/8ukt+6RsCyDYrj+K8lSMQju\nODTi8FlsSfMhKm0gIWfxbcu1LuoP76BSOj617sKD6YFD/DJN3/tDUh0APiNu\nIvG7X9WkByNhmQSpn5bwD3tTN7nwOCyq34m4TnjqLm7WYypfuwZEp6Ej+G4F\ndkUR\r\n=NVJX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSb19tFbGai9sFkYjhYvIh4mSOjzSu1t37iCjuVW4RMgIgFKonSPAiUVbDveVMwPnUdg13q4AxyYfK/UOH3s61jxY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e9ea13d_1595888209131_0.6820810562154247"},"_hasShrinkwrap":false},"6.0.3-rc.f8fc5f0":{"name":"formio-sfds","version":"6.0.3-rc.f8fc5f0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"16cfd64432cc83494159eb381b46bf32df67e69e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.3-rc.f8fc5f0","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-alZ7nZIiwWmtN9IxMTbkRelUmhabrK6fN5sClOxoAr5Mdqc65R9hDibNlpgrqX+j7wSiTZ7TtBVZJWoxHM1knQ==","shasum":"5b4120d9c902b2f85cce8e6d3bfa0cca9a262d79","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.3-rc.f8fc5f0.tgz","fileCount":215,"unpackedSize":1316084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfH1L/CRA9TVsSAnZWagAA3OQP/ips4SAXF9WSdSFApJ9h\nShGvqau2AjD8V6KWeSg/pPUY2xvLZ1hxQG66avdjcIEIzfd9lD3DZUcPzgPg\n8Yf/sj++VwabXbPXMmPk4686ZdoelEa5RXlM+PlzbnAweW9twxno3DmZqGt7\ne2ND80EmXsWJeVmNDU9nwYsHnPKNixIQWi4EzzmFX7T5fZBPxN2RFGuyLBkq\nKhsksrSCU1BbQkyrOKSGQILBuhzavyhtinYt5BVjS1o/RK6jOYIFDRAWhbwU\nTUvcr2ZyvMCc3zz7ADUhPKmV8xOvILFOeHnd/laszH5q/z7MTz0sOsEId0iC\n3lIh7/FBO/cNkdJhG+qZfOK2sViayxsqFBYkTVA6AvVZF78d6xEFgy7Y6qt6\nsRIYpgvlUNSV0Q1CVQ2wiOB6xYNj/ol3tb5Q6SYHP5RCMlEM+adNTWSqIrXi\nyaGdV+Cr/T90Pj8FB/02TpVKUWF4OJA5LfyxQtv5cBSIP0/rFQsiaL9pd2TS\n6fpN8d+aJy96uQPEItaHWRM89oGjycVgsuVFTkWYeAObIgm9M2nRzA6ermKu\nQVKVZOdrPGmkXqyqSMu7iZZ96Z3GxNRIhh8eOku/X1bdKPqrAz5gIbtNdCI2\n7927N4Pkp+snL1kSeJHPkDdjVEN/w7tUCZ/CS432LJCSZRUycL0lTzXgf4Zz\n/zlL\r\n=idLN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEsT2+sAJ0L2P89R65B7MraVaVMg8HgvggITn4C4Cl/IAiAfjpsnPQ4H3+qGP31lEif4M2PeIIfka89MTvP+DHS0lw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.3-rc.f8fc5f0_1595888383311_0.8813019682551382"},"_hasShrinkwrap":false},"6.0.3":{"name":"formio-sfds","version":"6.0.3","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"gitHead":"2662c452381b695cdb00b0f341571f0a7357bc53","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.3","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ziC+/KT6D+DdJmwN1XMmrMVS9qWbA5R3xV1P6JYyxVd2Z6t/fmAjpHT84JQfdlK1EZu+CoLKxfcgZhD+16Z0oA==","shasum":"f4593316ae66d0fae71d0f6d38ffaafa64175da4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.3.tgz","fileCount":215,"unpackedSize":1316073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfH1N/CRA9TVsSAnZWagAArrsQAJRjqMjdBWLGBAh9IN8p\nvcOO5h2hRed4muYJcH7IRAexXEInHgy21+sKRRPyUnzjKE3RY4Dpcb86uPXv\ncO81pyykV7UFF3tOSwQFmm8zIcoN1dK9J3uLJFnYHeNxeA/ZWZW491WoMryJ\n11Co+I9LKrLjeIi3Z6uMtGbyT9pXYu/FZ11MWJHMUPa9WDrJRTuo8oVS0CN5\nsg5yK1MSwmnx7/lyppSjFcYRmsh55WPxbfeypHKZIEsyf2qOxkpZjBLiLINZ\ngG3JD7fSpH8CZwU+dMSTLBgBaj8mkY4Zkli+mD+o0LQ8ql5qtdT2rIuOBr/1\na19T8iCwHysCT66s0h1zp/MwOzzSoWtfGi4bachwLDcblGB8AxrW7unwOOlF\ntTLbXTHOQoADDe6CaP4cOXxModZfS9w+lSihvXPt/bhJAv6Kk8imSl7RjxLa\nbomdsYjx558KeYYTwmkHQPtpE3AIuRnWpeL6Z5cnT1E5pTjoQvYDwupTQJZr\nuBziADbJAH0iskqU3vU9jgXc49A7dy7XtAHkZifzvMdNw6eq8Zvm2+EMaGYy\nolEonVYXSYPUBAkr9H69ddTjdMIElPwSDq3HO0e6+XbTJ9n7XiHew2MdOtfv\nJTOoWdN+BPktrdPvvAm78k1TBO/UgJHq/z4AAAX3WgNY2vGU4LHPRsV/wmq/\nz9Es\r\n=wulk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH/A7nCoEDyYG9zhy+DMoK1nk9LFbl2rHNpvfYFkbcIuAiEAvYdrUUDo4rjviDWqgpA4jmNtn62a7pgsjm5ncsw/12Q="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.3_1595888510709_0.0983295969479896"},"_hasShrinkwrap":false},"0.0.0-6e2e6f3":{"name":"formio-sfds","version":"0.0.0-6e2e6f3","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src","test":"echo 'WARNING: no tests!'","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"442e5a62bf265a8d53d36c21cba3f7422cf9f4ad","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-6e2e6f3","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-l67DOAzkQf7YqXYpnxJ1Gu87AwgNFLq7B+IDenB7HYx+9d2HZyqWbR/iMoiKndjYDjGhwoMOjywBNEZdg0o8/g==","shasum":"097789e14c2f9eccd5bd56ade7a026e0c8633887","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-6e2e6f3.tgz","fileCount":222,"unpackedSize":1352928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIb2lCRA9TVsSAnZWagAAFa8QAIf90+Zov1+XaSg50Xvj\nhUOYd9SG4o4BILNIoR4a+qytRDmARuwS/BSCjtj/srMIs8Pi0cfKBWU2COJz\n2DH1belPqsg8ED4pV8MVHvfNH7QMVNsnNYd1QOHzvpohHqYEek/bCzInfBkZ\nIVO/Ikxp5kgO7HuJb1R36tkNd7h7tsQ4UDLb8zyuxThZRqeoYeJu7Vc3FUo9\nEIwXj4d7DVYSnTRujdWh/jN8UxhLHUylf61h6m9CoN9I5rLUDWbkR+A4qh08\nI7LRC8+NtybuoBwmSu5W54OUfgjd8q2A+pCVe367pW+7C2JPE5pmSzimtW9B\nvr25VilWdo/UBMIIHpY4JpUxLbxVZXW1J03H4WFuE/SlrhhGcpin4WXo5Lj1\n9PBlQh0pbbUAfawVteEig+XE61G8LRBrIT4LVLYD+3TWImLC9CgwIcJqCkjE\nwi3hNIteL3Jc31v8Xxmrez+KqqokkzynGsMUnSxlnOqvRaOD4XKBqQwt38hy\nwyWJQL/y5B6FFHzgJvCowmRw2V/Y8Z/wHf+MNxOT03ea+UxOCsjmwRGGcN4l\ny2SI2iega/FTg/ehphsdD2NVU5woz/rerRgzLHNfh/9ctuYAydPXZ+tJXePj\nRYIP7rqQ/nYa87lGUZGfKxmD8xs5sLylWzfPfL50Gc7ClDtYfXXQ0zW2sBCs\nqDgn\r\n=xMuF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHr4PF2BZiXFLp/cv3xwnvwcLMkjjkbAHS2N9I6CGdglAiBhcmn3z9MdPcDTC8OAL6ZWknwbQ5x5OL6lFc4dGOXlaA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-6e2e6f3_1596046756775_0.23504490058245864"},"_hasShrinkwrap":false},"0.0.0-90d1f38":{"name":"formio-sfds","version":"0.0.0-90d1f38","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"236c5327d1be662a265f5e71e6fd7d800b790312","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-90d1f38","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-26bR884YXjsCirfwlxxZEDBhET9nvyvoWTWSKTBvVvkoWVTg4VRODFd1+xYIhNww7i4IAhGdhBEyfa3suU/dJQ==","shasum":"3be7e5c528e27788e73d94bdd9064c59553cd2f4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-90d1f38.tgz","fileCount":222,"unpackedSize":1322659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIb8ECRA9TVsSAnZWagAAft4P/iRphbKgZz2srVCwmz/z\ncUF8qRZPNdASFwUaL7Actftd3dwtpaAwyxb9BJq2ofIOTxmdgin4ZhjEmdTT\n9OMF6s7b1EWXBvmG7Ju6REmwoKbWzfwKl9/8Wcb2XyJZn/edRDOv3v9eM3mx\nOd/92IPNQZ8NYwjsNrYd88ljtwfYKP/raT56OO/krhXgkvXVtDTsZXKFwyek\ndd2te6AKfQbX7n3M112nIzjZHfH3iz5iiY3LNhy2cowj13MeM2vSfEgrLRFC\nJrSo6+Vwkv3VneS0s9SVMwhohm9SiVko62kuoQR1SMCHnoMiXIb3dU9ruBYB\n2hnkswi1FGDpdHBR2FZMvaAHiN5uwEprpggFLtmnZ+k/YaZBnQQEy8N6QlfB\nBYx6zCJWCIFwoM/fNCOuU4qoT1J1W2zxfE28RMdxSw15U5TyePU7IAueP+lE\ng8J5mUT5VMIyD5ebe5KC56GorWjHQPhu1wx/YwjgacmrGtsnRUAcOwQNvd/E\n6gZID6HEZy7pyx1qN9gXkFpsVBquXVYgOzduuvi+EIR/rWHGKKy/JoyMdo2m\nzSzdowuQlCFtGEdShYWljm9kt/ljN0NhS3IM7vPL7GxNkbfuX23EEgL2qvq0\n42N0gLNHd60lrMTx9BFIwNPY4T/EPYwQ6QUAdQDXkJSCuCzz6r/+NuRldg7+\nAMXS\r\n=iRGl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDi8NqE12dXqZfHa86+PPyX5qidbeV5lycjJ7gAHRih3AiBfUY44QQb9rIuw5yszexiOJiA49az1oHF0MAXcsn6Iiw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-90d1f38_1596047107722_0.05909652029269341"},"_hasShrinkwrap":false},"0.0.0-b13d684":{"name":"formio-sfds","version":"0.0.0-b13d684","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"c63cfde63ceb925eb41495891cb4cdd253f29064","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b13d684","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-TFrv9Bd1EN/y2P5EH8X4nlkJs9RRwhkVrzm9YnP8Asl6z/Jocavoh82LnLI7pFCQHjmB82t0Nk4ryoofzZDeeQ==","shasum":"ccd1bdde72271469bf5592be00e8bfc8a165d9e3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b13d684.tgz","fileCount":222,"unpackedSize":1334964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIb9lCRA9TVsSAnZWagAAKrAP/jhNOWvZ1/7ohcMFm4v2\nHQu9LAh5a+VvV4Aau7stDpj9j6E5fGImtS/pBRqUj9oDRx1NgRyQpPlVuG8/\ngjYOLHCZGUdYj7K5A1imiaxg/e/AnlnvklhOpgG9YjJMQFrpa4A2CtfXdzLz\n/gwH1F8kUsdxwEuA8InJRztv6UscacMv0Ma2cTlkPsLxihQCj1lMoL6ctFEt\nMDqRWqjejKyQyFJML7u1SvAInY+CMgSUU12f9KBNa3frYqKwYQITpW/sAvxW\nhJHOpc3ZH56LHTqdGb2vslaK80VcmXgsop9OUZzw65HXkW1MLdLsjxCQrhPf\ngin5GNhP/AY3TCMONsmSebSlDwO0xuezvOL5ry4U4Yh/rECPfMWmS3wIrOtK\nvLU6FRZ288jLvwyYPlE3mr1S0HK+4UsQD6Of9UdgycCVkU98P2ErdK28PPCK\n13SmlPCQJ0xyHOIpMq6b3bWjKP060p2/IcViCdET8IDyniUfo48NJGrpRFk2\nrNuagWLx4Gjr2kT+H827L09bGJaNTZMOLQ+Sjv0j/FGBCVhdAJKbFYTIZSiJ\nwKb+ZmZWkNCcLbuy6EWudYtVL8zTxyAZJalC+iBcjGswULq3LqCzfKXWtMM2\nfE/kmjKgD6NKTUPKqEp5JQUaedP/sHh0SuScEJYwcSvFviu//1yjts0LWnzv\nr6/T\r\n=pLuD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEjQ3tY4yPT5G+rUMUuSpm19T9Pw51I+Ja7hAX+McXAQAiEA+AXUyCEQW0gmtjNOm4xazNLpCuXvRWOCCesHbMxPBRU="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b13d684_1596047205123_0.6785197549355271"},"_hasShrinkwrap":false},"0.0.0-b1b0c21":{"name":"formio-sfds","version":"0.0.0-b1b0c21","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"7ec600661885d509584043e9e4020a88f47b2e3b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b1b0c21","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Vr3jO2D0E+Tuc9ngUvzrjRXVEZL5wPdPlUsOm0WqI0eu8xs0l/YI1y1jz1qbGVrmZwgh4I2pOfPAyhDOPOzyCA==","shasum":"ac661a3b650a3d95f1bf6fa75d07dad33907fa3d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b1b0c21.tgz","fileCount":223,"unpackedSize":1355775,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIb/1CRA9TVsSAnZWagAAt9AP/1qllMTpGH6ocJMWzekT\nzLb+ex5m0v1L9VMpQFdiCiKlBxWZUVzrurDxV7zRaTxdmmOV9RIVTHLzro5n\noEZ+yDDU86nYrbDp2mUbcA1cIZDPXEEp3Kfg+L7rfxorEqyyy3xnKITuqKDQ\np6WCohxhgL62hN1XU6KvxEB+r5OiU/ZKJvQrqH5Ye7BvC6V12hmuJ55TWXfA\nd48s7k3HEthIwbgmAhnPiwOLtKxjgQnBkNqXN+/dytZwEoYPGi/w8NqUr/op\nt+RjLrEku3t1piQw+0va3bCC47uUpXSihFy2JKRu/FvOnGngsjTLKXJLWScT\njnOpwkyubJ8YWuaift5M3javGwAJUSkwzRJ+MXqxPoS4y+OoEWj/TeBDF3Vn\no+o/nYS5brzmqcCNVOPcfidazI1/H7u2EwTRhG64zxLYctVZUm6wDCxOusNU\ns1vP8410MKfF5CPC58YzhBCHoIpQlhcVZ8C6Ic6o7nE1y50m2r5uFTrmuXOt\npCTOAR1TGQ+02LiOYnMqHewLF4CVrMcj6tPGS0TLOYO4IHE8II0eCVP/6zB2\nQgWrc3BfEdFkcHSYOrQtsrHhL+dMc3ohm6i2t0tZYboy4Y5nzPHV/0cHBX0O\nLU3/fxM7TtUsOrVXhmN2on3XM4TlLkJWZ5Q/3tdndNHGpCyoUUbtt2Mx5lHi\n6Cu3\r\n=Lwhe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG8B0oqg/yOe4XjprCHGnFjA1vY6y+P5fPjRn1uS39L5AiEA8mkkrUexlPBYtP29NkS92iE6VyGPdihcuryYhrpsnus="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b1b0c21_1596047348985_0.03423858348331388"},"_hasShrinkwrap":false},"0.0.0-cd78333":{"name":"formio-sfds","version":"0.0.0-cd78333","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dot-component":"^0.1.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"20d2f008971ca1d187aca04c279685a45ec3e7e2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-cd78333","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-FPWk4scxKDreox9kdWv6cCECuw1CgV1ZuTHjH/eUrOjdsbf32ZJ0yZ+ngwmdjJR4/+OFnF/zjNcB5TZGE7NOhQ==","shasum":"963b7a78136abf737c036f2f0a64ee082e8f2c91","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-cd78333.tgz","fileCount":223,"unpackedSize":1356441,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIdEFCRA9TVsSAnZWagAAlP0P/1zhDVulfiwEuS+MU4lA\nIQsiRTuYQr0PHSWtn3i2qKgVWj3ZRdAWI8+kDvet+FRq5dO2zclPySt84t7P\nd5Tj3knqySdWNpT9uFpNrGfR6mnN+jUFkK8KshCmIMN5X5Y2i6vTH2/lf9rn\n7EHl6WmR6k5lroxJe6x35andd8c0qEsCa0XGudnXziXJUBaAi99uQlXs3U6p\nohX2KqUi8h2e7Xy7SUgm3fN18sGA2VT5BbLov5kxlbZ2U4M2ZgCdUbUz3WNy\nqNX/RVaGI0Ehr2OJLx9icLPsshb4Cb5U9ZVBPJmdS5Kcy9EoOu/FoPlotPT/\nGLW1bqC/6R9UgemiWH6E7vxusDk8cZR09hEA44Gt9ExxPZOWCsqtypKa2K8D\nqEnbAliOZOyYE/rpwt5xiE3ufAvUIHWyQSe6m096vtXmbDwPwbMMPJwfUAQd\nQuIWYManPINzn28iSoRVQub4VmHz18xfehiz29bFObzGOPsxgmDmyszianWU\nFy7cyFV31lJRylhnVLAUoyC0k4hb+Tx1Eg05DMKzeO76hWceUy6z+Mhkb0il\nI8xpSs80qwbn6ol6ZG+/rurnnBcWIU3sSuzombj8xRJgSaJrCUXEnNZJo6qy\nid76EWbqqwNaO3KYkgDtkrAUmFf25pd3B8Vzg6wpC5Oks234MRYOFwcFBYGU\nzf7G\r\n=fcCg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVyFayog2j91r/GD0lsHyIJImyxHJKxlcIRJ9QUAwRhwIhAK3Vqbyl+pAanLSyCALDE1/qsJ6IGXUby+Yh8wVDeMiF"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-cd78333_1596051716836_0.31573330561633073"},"_hasShrinkwrap":false},"0.0.0-e793327":{"name":"formio-sfds","version":"0.0.0-e793327","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dot-component":"^0.1.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"435c3b7fb4354d5084aab553c1207d6bbd02a5a6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e793327","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-/ISAhMXjaaYIjH61muhSOIjOC5p4feFxjwMeef5gpPloXEPdSL95KBA55vSN7WI8Kw+WaYaHmquVKsr1DNSGKQ==","shasum":"04689f93d7d5fd79f6796be030a5ce0b092472a1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e793327.tgz","fileCount":223,"unpackedSize":1359249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIg4eCRA9TVsSAnZWagAA+70QAIVXDFLDE9PZ5Hvbu+U/\n4qK5L8EJxfpuJdfkx0EKEIiM4x6Wa74l0ikMYLfjucWjlqtbBO7/5IQYNNBR\nhXzszM+enC42WdP9eoFPUx/ZkUa70PeNJJXPtLCB377t2SPQmRlq+ctU7cSm\nZoCoePhMxe+S9JnTJsiPq6KyNkf6iaDMjUd5RoC7NB4RdKWKR/Z2Gb3TNEoa\nY6Y1Z5fBLMbpHIDLXUFR9Qmm+1VpZyZyB5MPT0MT2L+RA3o4ivkeP8DxAOfC\nuiZUO1kO0lAviKvQ0IWuRReJWOjm8JThD6mpXlj4AW9ch5yOQgSHJZC8Jj51\nDeUoXyscdZ/aipIYI23IcPxEWPv2k+Zw1Pnu58TJIh2rPFRRW5NcKHJdjYIj\n8DJw75PN9zD7ftFWt7ma1I+3wNKJjh3/ubit9EJdi7zOeq91W95H22lZ7mo2\nmisI4t9G+x//JIWRiPwxfH+jEIC2D/iGuLkHOwQp8cAPK9solhWiTCZIAIYW\nQfS43APsLfhp6Qzk6GHtdKmmggNQsiyn7T8avtnQoB9P9n1AZxsywUx+fVw7\nRQSDFmy7AxM0HEh0pbNn5QGe6CEyc242ozhveuNUADoz0dPwnRo+7Y3Cf+ee\ntnz3+2PH02L+FjJ19Ic/rBSIbfOKPcZO8UdoqpZymulZnBAkk+jzUmkPsDAp\nlaDe\r\n=j191\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxiq+HVhYzfoobovTQI2ehSgAF5O7vYLP9OoB7R1BB+AIgD0aXTy2icPgKucardJVLwuH78nU/1n4r48EoJDAhq2A="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e793327_1596067357977_0.3181016871764426"},"_hasShrinkwrap":false},"0.0.0-cf41de7":{"name":"formio-sfds","version":"0.0.0-cf41de7","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dot-component":"^0.1.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"bc7098ce13f6f4f02934f148912919b761921a70","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-cf41de7","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-GsRSRtBmXRgu/LpJgM/R5c2/WjaZSJMBBMS7aPSo1ZYf/XycZciqU1/ymc1N88rqrQvFykJtMPsQs+C0FUTeaQ==","shasum":"92b6e8496483806e5b2160b1d763e985ff993707","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-cf41de7.tgz","fileCount":223,"unpackedSize":1359237,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIxBFCRA9TVsSAnZWagAA/NkP/1aJI4ottSkEGYwYUje5\nXP7lWnod/BIS83APfYBklOQJ1zAoFrBiB44OsCCvhj6HI5EsVAYzow3jYFCA\nB4/+uVqY7YKSIsTevC1KQfFoFUwZ4yFzpSnNd1K70OKyLZ9rzIGeecNUpMsu\nHmlyVmtl3K0A9QTYbHk6VhoaEhRVriHn4B8mbOr6HvxqQPeEnE1DvT1xW3Kb\n2HAek1KHOku2SmgK31UeMuWXNGhlOJiiuV44VNZM4k7jLbXL2nlduWZLjQwj\niQ3AN4arbVpLsHJYrz1nz/nQVc7l0E7SBm1U5ZFUhJaRu1PXP8vBh9y/Uz8N\nuz6MQMK9hJbDki9DxIqIcATmq2/nn/2BYEhbSyOAH7PXYHjOKOu0o5iahMMK\nB1hH19cQ1GVh/yYdKqVdRt/Vkv2bG6ifhaE6P2n36iE3YzfsxXTJ7inITKIo\nldmwIGxhe3TIiBVKsxHJPBUgPIaeQHIVYkkCynNc8OQiNR7iqRGAIvvaavdy\nu7BQii3iC8q3Msk/dl1jg8VC+6mFONHtMe8IwsR+UOASKUqttEzYsaTfQb6K\nr/H9d0oGpScVakuq9qq6+VXUWYLxHnmWSsQKjHBIwY+m8Eszif9pbdxOZItu\nCQhvwmktm2D2r9iG/aX/ICuiO+tENXotvtxRR+CrazG8CWhzefDAlUwre9I9\njB7p\r\n=pqBC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICG+IG7u7w0c3LCs4SKfIy2o6Rg9LkoLd+xEiaO4CvidAiBGirqrCZ7DASpGQQqE3O8H2xyV42ALA8ZHXtPbDKvWDQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-cf41de7_1596133444781_0.5267399411936138"},"_hasShrinkwrap":false},"0.0.0-cd0ee8f":{"name":"formio-sfds","version":"0.0.0-cd0ee8f","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dot-component":"^0.1.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"ef8d239ab08a250c32f62e90da744fc4dd849578","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-cd0ee8f","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-olxgycdgaCvwr432IcDn3gNIiucJmg1FbYlpUNoPJeHvRJZi1/r6vxcmeof+tDilASCfFzz3DmELXAIg+TEFTQ==","shasum":"f99e1970266347f80d63471e3e4ff3804c5eb09c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-cd0ee8f.tgz","fileCount":223,"unpackedSize":1362047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfI0SxCRA9TVsSAnZWagAAGMgP/27tq1olvQIKRZtOO0AZ\nDZkJYirR4Ngaz86BRuoKBzLEHsSmHv0wwT1FoZ9aVQOpgESNulCyu7pV9Eff\nhxdHn+K1AalXQolMD9ZTawzuv9rzKwlIMJgicG1Rp4HgP0y8gk2WRGqs2HPL\n8lJ3zHRuIjI3ZPfKGHg/R7vptmMKfVMtwMObo6n/+YPrrwa8z8i2o92xyxGd\nxRFllu7lMWdhV3Xg9D+J+cttbBzV7UyPmPPtvYnupSV19IpzSR3UEEXGMfKa\nrNB/T9bXEY1dOFFoLhFdB+F62f2OUyiT132FpxPpcYYBlMPDQiwqNYJ/kiw+\ncdWxUl2Xj4UTD9cb1GdUFRKs1zKXqiQhgAR4RUbNCrdwLSfWU06NNOewuHWh\np+n6OWQzdCaaJZGdY8bww1oQxLUMJ/QwPTNQopcxENpYhHs1YMBK/KpTd34K\n9X2Fxjgc0JIdKbzxgp82lOpdUBAPTWzHr20/XKDihCKh9lCC8/Txo5QNzezh\nS8dSfUQTNlTXYxWW3ar2gR+5/3ngC5uiQwJ19jPtgzMHWDFd8B8Nau3mO5zq\nPrPHCpsbeEhV43dRVfQYCSYRYqlFcY7f97BS8fibHh3kW83cTBn66a4AztOO\n5STOtLEddC10RVS5gfaGVndcLToLd7rpz8HxMqT7pNgZWnN6Csjmn+a68O+m\n19yw\r\n=zSqd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1C8Cts8OGCGhGsSefe2gST+lW6zxdu31GOrboVBLIHQIgbwqpk44Szg1e4GQcDcA8Zkbev0QW+S5uDpd5r0rf9c0="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-cd0ee8f_1596146865425_0.5006306500263957"},"_hasShrinkwrap":false},"0.0.0-996c299":{"name":"formio-sfds","version":"0.0.0-996c299","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dot-component":"^0.1.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"274f08940f63dab16a32bcaa6d51e9c9218b78b0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-996c299","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-42w8djmgtON3lfhurDHMqjlvXn5aPr6HoKJQvc3YQqV9ar4lRy50Ffo7ZO1DSkzxYbBoboShDaUsYRN49kdxWw==","shasum":"6f19ad013dddbaa76c8a127224cce30ec07c0388","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-996c299.tgz","fileCount":224,"unpackedSize":1370181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKDwDCRA9TVsSAnZWagAAfQQQAJi9uxLleQvby84xoWl8\nnfk5arRHdJ5T42nBkXZ3cwq8iSt9dR5IoK5oXtmC74D6rAsgx7OKpAauFtl3\nM55UCRWEpz0P/hhRcc98rG1g6Evvv2ZU1fl8dVTJhEUaUg654+Cv7KRfc+jg\naegf4nP2CMNxp2r1Vp7PwD49mX1Yq2YBEdlPdXSWZXl0irhgZFjsnh5X8aWV\nCe52iU9mGgKHUE6oVPvw8LSRoo0eZuw2e0U1ReYsCS8MRMyXXbUlOtQPjhFo\nkdVu1b1cgoiu+mCVZDapnq399paUC2ZIcQH/HzwSpsbG/HO7H8I9oEz56oPT\nx9hXq6GYnYKolCn+jfkXw6A5u0svuTY+4voy1eW2QqRxdqpiyw9tRZQEuOfE\n77QScauEFDPC6NwvgF3gT/MvxWflUJt9MW3FeVWkogztP5Osz8S9WhpI3oWB\nh+If97ZRNiTwn/FWSnkJT2wjGDwyYdFViKG95ij4Ez+mAT99+GMFhcHFcvK3\ni9qUckQeiSqgR+E9Byw+91rTJeccCWXG3QbrWnV7jh9BNY2pRjbzCqlMpEiv\nwJ3gnWDlSXqXTMf9kDailjji016MXRmn6i8Ekjz3fnEik6zhy3L8YR7Dh6oV\nBalu1TPqKN6cEbrm7JtXKEfVfhmUv/t8FFDU2rC8XmAUAC4rAe5IV13IZjQ+\nqIsS\r\n=d6c3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE9zO4Zshjw3ygRVau5r43YhPGK3m/7eiRradtL+OikgAiEAoiKchgfilmZs65h2ATtkkK7SBHX6BZ0uc731Tz8M3l4="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-996c299_1596472322611_0.7279453111328882"},"_hasShrinkwrap":false},"0.0.0-8cd3a2d":{"name":"formio-sfds","version":"0.0.0-8cd3a2d","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"ad999b10e0c210bd539343248b6e1a1c5dac354d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8cd3a2d","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-zVxpLxdL7HvtpkbjaWQtz7kIyhbFdt0Jz2CAkV5D5RHox8WV8tpxQ90T3b/U1CCxDDDe3mxqgguKpw+wqVD9YA==","shasum":"bde81cabf0107674b879a9b186d0e2cd3e384f16","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8cd3a2d.tgz","fileCount":216,"unpackedSize":1316932,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKbL6CRA9TVsSAnZWagAA4lUP/1OPVovJdnXmAgsBImfj\nO96EwmOsW9bkcGJtNj2S3omXlVk4qAbzhY03SoDJ9mikD+07SyokRXTrW+Uf\nyqOIY5uc5drv7ZyvkPoNXUkT1JAU5e8UNKiBhqHC2KE1tpzKRPORXgP5s0Ri\n8rKcz+7ckn/QZ7JGu0f+HRxvLYDnx9+t2Atmy5tSA8TwMkR2fTjS0NnvuSOK\n9QEqUt1180CPvAuYTbMQ/JcOqENnAEmWqouILZC8GNqUIucbiNVVL3u76k1x\nDRO/Xzaln19U79jYAp/1/BJoYfN0zvgP3vrYKtinr62KR1QECWQ1GbTuI0T/\nJgsxJwtAdbNDmLFeY8MmZgNYNuqytJ0H0O9qz7LMptfzNfpnGrFCEshHLeFM\n14AecFEAbFL0WdcmIoGLxhKQALoMea2dpfVf+TfA9wRiE7Qku/tni5kjHWAf\nN2KRGyoiMONCKjLUtpZyswvg1a49B3MFAdH+/o8hZNZ6NlApXHG0Kv8Co7Qq\ngHgJWdHlio0n7P3vlUNu/ACMnSyzWEVwBiyry47wc7jjBGvzQ0rEIZ4AC260\nAoq8+AiiFUpyNjiJ1N3FzciJLm/XhB4hBGZBH0pAU7sCgTrn3KIXW6QlJRCc\nrX3JwhCbhWkBBr72mhPKiFfNrXe2G0CDC2QZNtuI7m560nE1xdKbAjz2YGNZ\njnVp\r\n=ajdv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIjapHMO1ham2BqjODWKyvfq7FipDoW+C5MxmAl20XMQIhAI/Iws+0s8EK1Ae8e8uypZ0s/ChO4PQFhn/5yPynoL6+"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8cd3a2d_1596568313961_0.7852666429704163"},"_hasShrinkwrap":false},"0.0.0-51a2633":{"name":"formio-sfds","version":"0.0.0-51a2633","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"191ccd18acd9e36980bd409eaf90c028484b60b8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-51a2633","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-mz2BgC1ZYdDQgtHZeg4r5WmiTBC2digpdKubxR3vl9+2G7HFLYmU8mFPnXuNYegUXbMMbwRFb5lkYg1U3HISkg==","shasum":"37069e089c91adfd44755bb12bf236d87e3bf19c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-51a2633.tgz","fileCount":216,"unpackedSize":1316932,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKbivCRA9TVsSAnZWagAAr5kP/AwZcW6Eoxrpp9Li+9Mo\nAGtgjBcQVqa/H+xR800Mp4FR3DeH2vOE0AwUADa+ZxCQZzh63BbN+ic6fLya\nQT4htk5iKJty2wXgB5qFrxM6JlVXb31+/vRpA2h6RR6Kr+9UZpl2sU9/wjaf\nPE3M9RZb3OiNZsP8D2SywpJjsDyuqvfVWI1jPd7ZIcaU+wX9ufF0wNZroB3B\nX0ifQlypgIKfngjLovpLIlk2yOj1f4XPP5K8TUNe1niqWGlzGuelXnkBs4lk\nkM1icNSHlaAu2sQfLslxZEGfEXdfRhZVDtQ/yl/CsXc0d/lPkin1Ph4liKQ4\nl3jmDcsa6bvOGv324x7Z9TyFvR3stY7KcBN06leFRRJGBj7OFqQUAdxC/V0z\nuUBWxZGOLGaOHnCi63njeD6yecTpvT3QVdKoxDFoIyEDatgYhzWrng+V+Snd\n/GEMfTfKf09PwDH1VdyIa5gM3RwJmpLm6mr/xarOjRU0WjqG5SxWxAL+ol/x\nlsRCOdjwo9Y/o4efg3X7XAf1qn+HW8EZoFxnXj3juDOK2IXcQp9b+S4Qsdao\nQ5ZAEInNVMqgZJiMsf0zZEv7jkMrHrLmtpLEpVcKaDuK8kZ7c4Do5SNSLJiC\njrBlwqv+X5pIcpFiRKa+C1D54WbrEHH05RoC3UulMF9QXV23/pXv8RKhXfCy\n9X/C\r\n=tgNq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBk5E/XHxBCgjz1m+haGP0Z9rr/uF3gyzz7GCy+HzfkwIgS5OoOo6stoyrSzgpVMk3kYpa9x9iac4QKRZCDfdUtEk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-51a2633_1596569774833_0.4977158522868741"},"_hasShrinkwrap":false},"0.0.0-fa2949c":{"name":"formio-sfds","version":"0.0.0-fa2949c","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"d6cf319ec82bbe5c145060ea71ecc216fd7ffed5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-fa2949c","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-+L/go01l0UCl/TDlPRgsotEEjaXFEoBfZSCfRdalzYMsJEz7uf2q2HMIXBsQfw4bZvmhXVJVYmDsMVlrvhUUdQ==","shasum":"b9af9e792924ce048e2ff60c86da7d753fb4ad5d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-fa2949c.tgz","fileCount":216,"unpackedSize":1317348,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKe73CRA9TVsSAnZWagAAzjUP/0RpA8NNamJv9UCChgAG\nB0+K2xKcrZP1nJsd2+oAxZu2SXABcXhSoOborBCMeia2sXxAdsM4r0HlTuPE\nvv6pSHoeGGpfOW/cILT5qc3tEgL0FNW0q4thcaEsUboZ9V8Dni2KM5YA0S0K\nhnbFNQhcyhDtg4XLnzSwpmL02klhIZMOaeeCf6EJtXBgKSXZQtd0AZZKU7UP\n0e67mc7frP3ix7/dmjiY8xD3DGPpKwJMcg1/CzGvLTPhILhadz7zCJYnQ1i8\noN6pVnbAld1EzgKyrTO0no+sQY1MF7WsGGnAQScTSB6b3x4qXKvJsnzy5J9Y\nWPMzgkf6QHkaBkEmEoReGpha5Ha+PaHeLZr5VMTkfua3O+fOJiZHrOQmbikl\nA2096Rgh1W2KmBhPvM4XxR+IeruE5iWpY93n0e3G5ilr3iASR25Q0cbOCdQj\nEPmgxixXktG+2yL1EfME5ZYiY6wgJTC/Uudrej/gpCk0Jxljc7HSBl6IMIzd\nmMJDPhyNLgMBW/vM1J92A7nEf2HpmUJ2J0CTDmGU+2r4tk8CY1RKVcANzvdE\nW+iY6OIZv0+VsXV4JBHfd7qGlSSRwjkyGqntCDlD3AD5vXpZuAXYIZWcaVd2\n/+U7Gm9gPXvcN4nh1XmpoqIoUrbVqiVDhGDxKP/9/ro5Iau2TB7iymTGXzi4\nigot\r\n=8x1i\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGFCPC8F/FkysEbQ9xhmHYvd0Fv/x7mxWIvIPHDLegS0AiEAgC6ir3A6MJCAZgPuxzq2IgjkDOYf6c0f60ljTaWNLSE="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-fa2949c_1596583670354_0.25656781764824466"},"_hasShrinkwrap":false},"0.0.0-4b6f48c":{"name":"formio-sfds","version":"0.0.0-4b6f48c","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","core-js":"^3.6.5","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^5.3.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"48906e7f5983eabb3a711796c95c842576934013","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4b6f48c","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-qqrKurM6yslBQ1QmavQ0C+UPz1cw0jDs1p6M5Ax/GFyEFlrMCafo994qemIa0NRdIDrb4d8H4QEeS/nO50ULBg==","shasum":"abe6560d2425f6fff41f137fea6b914493d06afa","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4b6f48c.tgz","fileCount":224,"unpackedSize":3012908,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKujbCRA9TVsSAnZWagAAJQMP/2JQdD82RJoI8IQZeu9A\n2jBIjJ9Q7nYQ4raNH6FVw9jYq0DY8JYlMKzy7EjXDxc2wx20xzPzbzM4kbsx\npu8LIKOFKtFKRED/dZ9VWNr1p2YvmriWR/v00VkCKwe9GDhgVaL+4JT//hci\nSUlpjiTNvBoLHhnhkmcnSejCqY1SVCy2g+9OR5YND6qdRvxFDL+O2OHQ0tbp\nVMq5+VJgPdi246bzccW1aJ7jdclBJ/JWyVc3JnDCIKRUukPbfyOiS3Mhtg4u\nwYZ4U6F3iJ+86oLPhBkz/a+8ZKgCPvwNNTChA13g9NRGjVA7Wd/7p6UqpipP\ndcYb3tVHy1LpNG4q8xA6NE3B3oEnGdN/uLV/L7NfRqljh56U3BgUJsYshJ/3\nNNo1Cgv1Hvz4VXSLqlmRV0Drw6IZNuQpgKKOMLkLqmiHs0s4et6erYftnIRA\nUZRVK1gsQUm+8NLKnyNgKa2++2yK01oGo1oFfneh4RFb2lJ1yT8PNgXuKstC\nzUmIP/GailI2OTPr3ldIP5zL8HU3V78KHOUNci1m5k8zPzJjPt0eDmz4NX+F\nBVb7LZoquYo83LAgUBAQO9Xo/r+Q4KfaUGGFlhxFZboboBcWKLrOGGxmfAD8\nZSpOUeaLjHFuzCGuJJdleA0E91bGs3fJfxixRMbx40qaLTltSQ6SM0/hSM8L\ndtqv\r\n=P4Gh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIET4TilGXQStyrBunEAlDtt/2B4QawcMBg8E3KWe5vqIAiBbw3VZXQBjNNlO/nSmZtiUG0bU5kmMsieVIRwzAq40Kw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4b6f48c_1596647642456_0.12611025719729163"},"_hasShrinkwrap":false},"0.0.0-d58f4dc":{"name":"formio-sfds","version":"0.0.0-d58f4dc","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-transform-regenerator":"^7.10.4","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^5.3.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"dfc7bf679c8dce9a78aefcb744cfcff8598b1c11","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d58f4dc","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-0IhbX24sdqFWtKhjpE3OCHeHdQ++xerNy0NRMF8qPswUzlpXpJCk1zsZyBlwOnLT4adaxGTIqwqAejdE5OHB9Q==","shasum":"6846a9775a87c53dc81f3784c0569b0b12e6dec2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d58f4dc.tgz","fileCount":224,"unpackedSize":1249614,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKuzgCRA9TVsSAnZWagAAnyoP/2YohVYBV//FQ4bJRVZm\nf04P7tLsfb6YUC8W9NED7p9ifqsqxrUkFhlt8bZvSlNMoiDoO3U5ykEMq6/M\nxUq2b91bWIyiMPoibQQx6XvDIoaJCWtKYUXN9fVOxoejiTtzMPe07xXXntEm\nxsdYIBVnvlUVZXhuyamw7infYUdm5HD+MagbuSYt1YRu2tXgLQCK0oTW3qfJ\nRsjKeElgtASaJXVSZ7yUkO6aL4klOLSrJEFMmlar6dXU18MZbRheL7AWhnD4\nbWl6G6Oi1KsdFPcNgEbMSDpf0/RmGNHzSqx2C6cGYEJx2aYDdt9iDKZF17SI\nIVfkKf2Ar8pWz0s8LT0wFjRkMtbCttyCBMArqVIDDWmPFNmD3bmw4yGqykLO\nlcLV5bZa09geAJOr2WGyzNKUal2az8XXVVtdpPoI3I2szMznkQh9llsHpnzw\narVWZQ9aFCdITXMVjqIT0AvQkl0njd/uIurdeR82WaQhNViTlJquzxqjKlNA\nIIbezwwPFHdEtqZ8PSpsmDqlBObK3xzX3AimlquhczDwuc+50kJZ8TgKpmp7\nwl9PEzSJvWVKB7APSRzfTiOYgmOACmiun4PsQTgDUfxDX7Ta1jNAZTUfjw5y\nEU8nQsimZSsKrQMNjdVjYJCXgVcCvNnUvJgvaHskKBNuwsxVaBqw2DZ9AAB/\nclhe\r\n=5fnZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwscbSwpRE4incE0ZJ/Pv/ccInpIdfW12Jcyfnxz8jbAIgLMrHtqBag1b6PRU+cIhBREUypNBmhpVz4GX7lvWbXg0="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d58f4dc_1596648671589_0.5085930013701097"},"_hasShrinkwrap":false},"0.0.0-e8729e8":{"name":"formio-sfds","version":"0.0.0-e8729e8","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-transform-regenerator":"^7.10.4","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^5.3.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"6f8a01efd0b5e49cdb4bb70e156eb42ffbebc1d0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e8729e8","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-HmeE3btOBYsTEdqY3iQNzz8B4fC1i/UBVUv9OSiYQEt5EsCC11Dj2TfB91Q91y9jYnfCp4tGQnyt91i1PUahdA==","shasum":"f2eb37b9e780858983b4f02accad62d7e612a5f8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e8729e8.tgz","fileCount":224,"unpackedSize":1376668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKu26CRA9TVsSAnZWagAAiaAP/RFEUqY4E56clpL1vpqo\nbAzx9CjUThSFQvyGXjVXVIk2sMGvJsFVVzrYycTV8KhMMxyN5Vg2eZCin0px\n0jwCYCDlxD5M/Qk1VkJq+n6Qw04fUYmtvUijoBR7y+DBzPUfiqlW9JEacNx6\n474xc41k/lAmLbviQ4q/ZjLXMUUzkWN1o4PuWXnUpSCWchdPFvrJljs8h8x8\nsek7OniGHDskGF9AOCaq9Eas9P6BZhlyyz4qqL2u4I/25m7e1FITULc6ntiP\ndX4RrdGYspIetTg2D0BT4WVANKk/D7CwA4zQMLlXf49PlFYnJ8UHR0uHo0xu\n5EveVwLgJ1Uku8WgmaEnM6t8XU6+de9GtJNBCck6PDtv8j5infQocqR12bZ8\nWTA9BuaBokiEBZ4JhDINcvfNKFC8SVfIDA/AT0As3jFvv18//cZRRjFzKnTg\nO8JA6OKeF9EYTFhE/qncChlXDmMPhjxxdymjhH2PKJFZAwh0pXkYP6LNkblz\n5WYsz6E2oJZNj4GEJBvEI6gjZ0VEibKqwNF2KcC5h7kjnpNnFNyjt5vmrMz+\niwQ6ju9eHUcAhDqiMmesfR5qLfqzZDJ/aoCQ3EzjVUUUSQbA3LL3/+IbVNQS\nRu8iBSIzQzUlWK2bNzFokSdkOjX/h2w0QBByx7Jl0relq1Lk/W+4VlVxlJOh\npGMu\r\n=yXUG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcs3I6ed0SL5yEl4V6DitBADAP4To6v32Ma0SwEUK1jgIhAJJD9TKlecc69wBnIGJ/e6VHHy33GCH5zLNpoBb2UsDp"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e8729e8_1596648890211_0.9171225209285969"},"_hasShrinkwrap":false},"6.0.4-rc.ad127ae":{"name":"formio-sfds","version":"6.0.4-rc.ad127ae","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"70b91b65ce7bfa00ee76305c8b36061d86070114","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.4-rc.ad127ae","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-bt784Yt/Q5fGx2Vq9KXCL4mUnQPR4Tx3zncaNcVLT3GFKmJXZ9xqpkCs8wrlCAErGR4dDEyGw1nLOWbl96zNzg==","shasum":"55d7d10f9a1bbeae397905024278947a8bb55deb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.4-rc.ad127ae.tgz","fileCount":215,"unpackedSize":1316084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMYezCRA9TVsSAnZWagAAQjwQAI2/Ko0DfKI1oXIAw3vu\nvQyOzmCf94w4yIu6nxCHxHKF6Sexd+ZmgUwhgVeJ/bCkECOF74I3PwYNf8ac\n06aB7RL2vn08z6dQL0Ks65OE1t6zDlPUaMl0MBVS7SBd0gG7jkPp4XiZ5xdQ\n1DAiGHlAzRw3v8wLDhM44TRHMpR1iaXrC+LU9Z75A8S2BNEhFZxRJYglABFT\nYAMZ6i1xK2gyt6eI+54ParYecw9k0xeydImisFSJOhIC/S35roNEIX7FH733\nLbbd5G8d6tFJegwMlyo/SaxA2n49L3++lYE4QPm1GnxDQPd9cRaZn1NwLseN\n2lOSq+W83G+8LgmwMpgQ4LF9EJLy82WdN7yPNV+X/sMe2dyIIFC3xSs5s6uf\n4DPD1508B0m8NKfkiDa5nuO2GtlzVvmuxn5ytoToDNq9to5SIGXvAJ1sVlwZ\nOIMwcDR6LXU6WZD/BKXkfuGpx2j/RNLA6EdWCqRYCBbwbdI1wj4rCIEsQDcr\nktBFJj6PAooptCUo+r7EQNio0N+DjBJSfXTzEY+lfHrZKCxltWDZ4IdygnMM\nn7hXUYHf7WN/EyhMB4NBXEjlzL84uQChIVlxjryKdCpOFKQqcwP4LhFyaKM0\nhfFf0OHKuT1vPVttjlN+N3qptSAfg/plzI9HqzAXP6B+bZ8HgtMI/sgaFVgw\nxxr9\r\n=Sj8m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFRCCdMD5lrP0XijQHsgWCFThn5z+W0sHL7ajh3dftIuAiEArWqEYV3U5X8gq5cpnwGPmffO63Cbda71lU4xomhn6C4="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.4-rc.ad127ae_1597081523019_0.10015556882563614"},"_hasShrinkwrap":false},"6.0.4-rc.1cf0239":{"name":"formio-sfds","version":"6.0.4-rc.1cf0239","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"9e35b188f5fca189128b9af78e12f866f916ad54","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.4-rc.1cf0239","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-nnH339YHfRZtvzJ+qWuRObCmrrzbeLmdGKVxFkMJLmt/5SWIcXH8wE54TBtATpKWJs7jv4c8VZaY3UW2duoeEQ==","shasum":"a1d2f61452de722c6fe000a56d55a623d300ef70","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.4-rc.1cf0239.tgz","fileCount":216,"unpackedSize":1317351,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMd/HCRA9TVsSAnZWagAAGPsP/2HR9JYYYZHQoinep3Se\nMD4ngJ3dKCxVQEJV2ehLNrGPhrD/lzTWjgFIBItuoBvWtKYeCbu7wPaHPMA+\npcNoik9L+fZD5992nyHO/BDIkdSag1BzxmkgeHHSTQQ2bXx9aMWi8aAd8ltv\nOIrf3wW/D09Ov9Vu4M00Loc+71GLGfYwtcIJx5IU7eNdcVrMOSfJfQKpozPf\nCc2SrWF87bcN58Y39ygzgg2TqdLhwtExxvamKFXhU9OSLvhR6bNyD+lHn9eO\ngARPddQ7frsyqnL97kMDsIo7VvuAIuP3exAJLCwYr0OQEN0ecZhWNY7zPxpN\nAgKF6YL2z2XE4aKOq701wx8llwMO9yMrcRClA+WJL39BEeOTnW0Ot2L5pFV9\naQdBIEKCzJsY9Ems9+cBfgwZA5rAlug0Ag9MteDrh17siMnQLAt36TBLeocL\nh0ifKlJ5QHriGTnxuVF6vjs6rVIPpQKhdlGE4LGUAbRn3c+YlswWpe63n+Ua\nBU5RFias5lX8n/BM6S19Db4P8J/AxKIvzkG6qlVcffj+N5ckw5+2S+qoinmB\nKdZXjCVvL/TRqn1YpkqgVOSvWJVd5055YWbBJ5kkHF8EJTt56kknGewCsi5+\nhCijGnx01F/aQ+vZQEQgYFrTcQfOBRkHPvloqC2pAvZuvE+lkJUinWScGyHj\nLEsO\r\n=ecaw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhKmCqiIG4EcreUS4fa1/knt4XwayRng3FFwwh1jbcNgIhANE2k3UlcgXrVE29Tz7GzUD6ZfWkpnukRWp6tNW3j+xC"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.4-rc.1cf0239_1597104070910_0.44152436188460054"},"_hasShrinkwrap":false},"6.0.4":{"name":"formio-sfds","version":"6.0.4","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"gitHead":"acfc0f7f49348149e6420ff295b8290f6a7704ab","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.4","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-1/ug0ma51JjwswEVyT3QEc+gHZKBGCYn7uT9jhxNko8dxwd58kBu5+F8XU7XPnMDWWI6j6aVEPn3hFUX6M9H/g==","shasum":"a8e204fa5120aa0710b46e784e3eb25c371c75d1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.4.tgz","fileCount":216,"unpackedSize":1317340,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMtZwCRA9TVsSAnZWagAAVAkP/Rvx9cEJSMEyw1tyYz3g\nF9N3zQjGfzory+9NtZFwmQRDF5SHRUnmUvrmVwl0/3kiw/VtzgXshCA/frQV\n7IqDc0gO3+VIBlheW4glG6ZxhT243CfO3I/lxfSrTdODDvokOGmPjYYjefbe\nUwjwAgh/G1LIJhxPPOVp1PEU+QowoD2atG5QSIqc8xDWsqPD/mDttT6EPtVy\nilNkau6XiRXtW5lN3HErRqbBz8K1TMFX15adkQ1NTM13gGyWTuWM7E+LaemV\nPNsfxbSFuyVvaIlaX+p4765LxL4tF2P9vj318V0S2xdFIioMQ8uXXJNHEJSY\njv8JD+F44eYPrQV3bz8F5QeAd4+WyCrX9jSDNr5ZycC+EI4NTMNva42OZGYs\n0OaWaWZ9j8mH23Ud4o8FSBptPoH8P5lJGG4aVF1gfqx0o7JFdXMa2bax/M9C\nFk/fvdImuaa4VY6hvrltWAROPAAoFmBQ0ROzonPoZZTC5p+TIfuvRLeKS92H\n7tlOCMr81m/gyTPQCy/na1t/FwrDbVvHjK4PKQMAL232NdSTHRhY4dIa7ofA\nofG3Vi0cOj6e2DSVNKOwL05MFwxu+gdyN0XV0PFTj3aSMSSOf+BSB7nIDn08\nlTU5BhWXyNmWF9rzgd28qGg33SOD0BqfC4P6CvMpTqGuSwUReptqXTd8fM0Q\nUd5c\r\n=1JEx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAd0jLkZWGSD8c4Dv7hy3uA0m35IeiF+9q6KX1kCjuk7AiEAoAZvTWLuVSijv1vi83YLTb+rxikaf7KzZzi5GZWLNrw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.4_1597167216020_0.9030071019743426"},"_hasShrinkwrap":false},"0.0.0-3c493a4":{"name":"formio-sfds","version":"0.0.0-3c493a4","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"821785d585f07442cb95a02bc84fc425d60291fd","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3c493a4","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-9Ndp8+c07xpkiBj/AT6OOhcfExciTcXb+xtMDe8GN1xDNT6if5j30bWiui8ei8aTH18/YBuNvMaXyh2tuanV9w==","shasum":"cadec5f9d49927e58c54af0e1433199463c89ef1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3c493a4.tgz","fileCount":222,"unpackedSize":1334924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMtcrCRA9TVsSAnZWagAAaewP/0cDtYYv5MdqmFmj3MR6\nSgGUk8puowb2vJGrLSKI1uhcfyAcIbC1dNdENAmejpwU1D9KzuktSyYRHBwp\nUjk7jZUwY+asaAFjZqx+tvUi8yEy9CguQG7bXveWzsx1tLMRNVrAQESxc8sk\nvzo4RFMuWqt72pKghPPtWX3aHjf3xjufloRv7r81JRDdQOunXg0/kRqON4YD\nG56+j9vvYVfhlRr/zqLkv6y+QuqoKO6KoISbPiIBtcvbU7zT5C+onUoNiiHK\nL9COHiFKIs48RR8wQEE5FGB8rHADC/SnUreQCwwcKU5Vk2kFdkhs0U5QYhGE\nGC0IzylxDzvLHBVAp5u0jOlaWaFvXzFmnKm09BiVqWNfFqObCYBH4nJUxf7r\nyMI+VwAIoPtl8ezV36UTksP07DP7qckxKWg4P0KP7G1DkvGfGW6/XoyHATVB\n0/uWrONv2QGiOpVw4ICMrp+8ABw7+AsvgEMIGuMGVSM5uBoYKKHzY/uKkKeW\n7GKqKLSOuRXoWdZF/moOPR8lNL2PabFjo3hbZvjrNE3jLrHPSX4CX4nkjCZ7\nIwguFLDfIvsTqFFrbpgt4+bTKZIXxYFlcqaJcvGCzlkUmWKmDNR9lsBDS7Xg\nvW9Lq1u4/QAn1Xbyu9kmDckuys7w6zn0W1zAavn90PHkv+o7cGMvx/Iw/MYn\ny2N0\r\n=uNVn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClgEdZfvyMly81WmnY5/N+o5jK8XBGwToO82Ax39zsHQIgMLWedGZBxRDtYS4dK6iaiIK8JiL5KiVdhU7U/fs7EyY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3c493a4_1597167403020_0.3758860271039992"},"_hasShrinkwrap":false},"0.0.0-7145f24":{"name":"formio-sfds","version":"0.0.0-7145f24","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"66127840248835f48f5b5db1893f2414a2938cf6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7145f24","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-nn4pdpPi0mhHVShFtSFEYe3SLUaa3GK6A3edg/J+I8Tra+bJffDy01EPl95KserTMwJVMsJLXtQHhX1FaQMYNQ==","shasum":"ab939397d950c8b516c850621b53489b12f7fe9a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7145f24.tgz","fileCount":222,"unpackedSize":1334924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMtecCRA9TVsSAnZWagAA1/gP/2qsg0GGZpNJXGw6cLtn\nm6ZRtj9zYPWQHRfGMqE6mRQD60YYH196Bl8h6z8vsGHPmjuBj9Ak5/vMnbxC\n+4m/pjgaBANfJK+Vhdxgg7b0rRsp/nfItgaIQiyCB0TeusKBS1I+WQo/4YdI\njnxi9vUMS8aKtFNBAHjhoKudkapdzaRshpqlUDU4upMVqrLDwXuX/TdhZeZm\nd+QqI/3tcOxf8sQ+KXWlLkErEmyCWRr8CIR0oMKSp+n2pB3oganoU3RUhmYy\nt4dvyxIXTJQAhJyUyxm0XFCVt9iQKnrCUe88EvtyhhcWWTtA+veMhS3IJzvs\nOFqVlfxSL7L5FpSOXRW9ybJcQaKvczE66oCA7yDernpKOfckykfqkDg5jj4p\n6uPsKetj4InMqP5eeJbQ93AtuYDacYTKOrPyRc4Avo+ql38y+HcLOUu8r3sv\nKxf3/fcJZwYfP4ciwvFQgige1rqMPKzvLPF0gRWAfAY5UFO22QrhjW7ZIE1R\nw23DatBWibiUV7NWunyn7WGx42HVhiaym+l1VWdYHMBixwEZIq7dGo68uFgd\n5/kgOudulq+P6G8N3bPi+MPA9JK8ydjjQkySCl4rgVZNk4ySDQM1qbE3IlsN\nR03ZWfD7oxYBlS9R5wAMmcSaaVGnAos5pmNL8VWcoFVXNMwAgPYh5NayZm6F\n/ubX\r\n=iGnF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEfYYJ+OtvMfqr5GvjU9VHvYOlOgEjics6yFNTuLM3c5AiEA+0RD/fNyZizLWvWTJaZhmKxOo3m0JUGDNH2KCpq1z6o="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7145f24_1597167515427_0.9999056230771741"},"_hasShrinkwrap":false},"0.0.0-09f83b4":{"name":"formio-sfds","version":"0.0.0-09f83b4","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-transform-regenerator":"^7.10.4","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^5.3.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"2b05263f9f70b253658a69ea40a4ae2ba77cac72","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-09f83b4","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-d7nt/KgBrgYBjKDL2K9uQoq72/AByMUHNrq1H148eR5oGIma1nNNdsljSDtpeqBlshX1/WdFN7ceunfUVjXbsw==","shasum":"170ed6ff69293a06d38bb1ea76814ffff1bab13a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-09f83b4.tgz","fileCount":224,"unpackedSize":1379169,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMu7MCRA9TVsSAnZWagAAMXYP/3mO86frU7nE1QdDo0Yz\nFvHx3ArByoQDInNLXmIVlo2bfJZfOuYmTwu50LiLZAS5QElIaEDWYCxGs4j4\npsxikaqbSfCCpcuEycdtTVK1GIXWHZOlh5Hu3I+VckumMn0V5S+rmUamltlf\n1Twv6cLoW6tl1SfU00FBZeNamcBo++n/XxF2YA8S4UKTMKsxb0Q22oFczWUz\nC4/XEeetcdOg9Ak8Eb4GeXyMVGwQVxRmJ3dKz62bvp9qPmTHRDTHFoHt6CUA\n+7m352wDkaFxJ7MJLe/h6LQ/evb4FeAdVYa2lTa6V0ie+X6RjaGzKeLOfPo2\njhMxDu7XAmPCzSsiQRGCmHmSo5/1AhB21YBa/Ia1rQsQB6bDmxeauwpLKHq5\n7I04+7ZwfrwtlmiEUENGIWhMbpqKek1E+b4eZgBOAvtjgKun5TWeJhmuD7wD\nhTGF9xYf/eyHZIK1TiV7DH5j1UgGxSwN05Tcqd0hZ1inL9G/dr7fQUWRmoGX\nWIrFMrm6scpMA553bsXWpETdVTI4q5rUKG+miUx8XlXWMr8LbWG53ZiRm40Z\no3S8sN7wbRfCQVzpmQrv13t78j5rBk6ZXwJQvNgMxgcxxlA/d8kp7qfnHdqU\naWvgpZmSz9LXjRP1P/jFBpyNSZjLQTF72dmMe1sycMas6JFIIVUnY0Oeu0g9\nqUId\r\n=+HUA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCY8trT6E7gKhHKSf2BYwMEdS83yYA4F2HxIXwcdhOUcQIhAPcJG7d9HHLLRI3qBHSzAoM6/+lavevebfj7riUItCtF"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-09f83b4_1597173451538_0.744882584177831"},"_hasShrinkwrap":false},"0.0.0-58681f2":{"name":"formio-sfds","version":"0.0.0-58681f2","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-transform-regenerator":"^7.10.4","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^5.3.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"f778374ed380c5dcb452569dfbe27fa63000f0a6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-58681f2","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-VW6+163+r8KPIRZnG1GE1DlqiXlHGD06CsqSLU/kAtjIc0j6cX6PtOZQI816RMDkZwQqZyUlALZ4men/lwW1tg==","shasum":"bb8da48425c9e4a9373532eaf3314e5c7a83e699","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-58681f2.tgz","fileCount":224,"unpackedSize":1379191,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMvLhCRA9TVsSAnZWagAAMr8P/RgmyccUbMhQLyBEoXOx\nOYmqeOsqAAPHc1VZ01teT79LvFLegy7gSlfmm9LyvzHtCjRPEqeMH9X0Wq1N\n81i8oAy4zV677dA6zqTf2+2PBpJ0WyC5poOW70hvuLRw0zAjyzFM+5e4Ukub\n9F8/to8hmB6DAHTxKObUYZSBuk+1HB5rVrfgZ8hkWhT3slOtNhkpcyZHTpNh\nTrvg1tYHVlAVyJhMwAobdpl8V8D4MyonGZsfvR7SIBOeVehy0TBDRTtDuQj6\nwDFxLhNyobqWODuEeT9n5911rsSKc3ND+xz60RRUjkC19Zgr85rZOC8YTOg6\nijyI28M4oT5UZUJ+6tYXcD0WKdthdY953z8OCwPymEXgvFSTFwzF9UF//spz\nyLHwcl8hcuxywTEKR3HUjeZcbsYcCgV3/veFIgmpQlWyPd+N8Py1rol0w4Sd\neaKCsH/UFBytrTk3M3F40sHADJNjpHT4BQe3FAvORlD2y4DNF2smcynw1jE6\naFtrN8DRvRNXn6qBhZPwF3D3JSioOVBNf4ce5N+EYz+QiZRUaU/uIiYBAMPf\npYidXNd5fc6OLxXHZU0TdqJxNU7EQqV2evdiJXvaeXFNcNZ+rMOB88lcbpqe\nGG9mPLbvSIFlm23gXW6p+GadvjbZW+yVDxJGocOmQgDGhMq7Sgrr0ERVztfY\nvKKS\r\n=bhFQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH5UOdbIz7ky46XGAMZ0WvxjjhF9hpLqoHGqOE8u/3lGAiEAjKatUTU7tLh6LcB0or1+MP6aArLFsQua2N4Qx2NqVCQ="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-58681f2_1597174496569_0.42797613156685377"},"_hasShrinkwrap":false},"0.0.0-a8f12da":{"name":"formio-sfds","version":"0.0.0-a8f12da","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^5.3.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"42a48a781af3d7ad3835fd4f17f273266eebee78","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a8f12da","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-iVK5Bfj3tNdaqiT/0nNZKfnxVK/nWpfIFm32BmsD3unzljniryXcqkMYYeDPfiNwCf7oej0VyDrKlHOGLGTXjg==","shasum":"b225692479fe5c294f3c3a9497f6c17af4ed49eb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a8f12da.tgz","fileCount":224,"unpackedSize":1252805,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMvgFCRA9TVsSAnZWagAAtdkP/3bPR6sNyqphqM4YC8Tk\nOSRF0MndLZbY8aE1GjTAqiQQpWLGRtCZayJKpZYAGBBVeO9Gz3O8MpEj9gu2\nj3AcsVRSNbvWHdG1j76RKLE+0iO6/B7ic9Pr5+yUxzoLLlf/mzg2J/07Cp5i\njfsQXbvqqKlshG/jnQA6Od6dVKVMpvZsDeZuZ0pi+mMt5jmMsj06dCAT5dfZ\nThBIJCg/nZOi6TpGu+CIl7zYSpFWFAWtusmHWl0FrHgRN4BsjTwhtUSpaRNh\nKeMH5Jg/QbVEjZXufsupdHCPeEjiVSbUK09iBHKE6cI/mCKQDxNslPJhxxe+\n2L1AOGL6u0PY1Z3JL8WhIzn8+SANYpvFSX7yMc7IEgkSCTDraALLvcdiBZ9J\n0husp+xTZ2Rx64mno2EexWuylubfxS36Ywu9iYwJ6xI29nU1qpQFDZEjRD4d\nYE/R5uwrK3+y5QVZZnQb734Xg4jFsBdUOs55Os3rSDCUJS1xdeB9Ecl1+Kdy\nn+sihwrpNje2oNE8Zuvwj3De5KCEpSaZDLI9nCLjDgnil/5nSkWVtWE6Rztm\nyzuSD1oKJT4OHddl2OdQghzFqmEjRCyNqGHUGNFhnpdpo3M0Dt08DPOqLjBh\n4NEdumSfuJbv9FRUlrkW8av7yFjaIJOhA5JKBzTP+EJotYcRG4orwqdcuIFg\n8/SV\r\n=f7V/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDSUoNJs+XA7IAzTaks+JQfhpEDGA+QEQT4VyOUC4T4gIgdxGvrfEaDqk7coZe5+7/mVDXutHd764N2sdw31kZaUo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a8f12da_1597175812749_0.6104580562960449"},"_hasShrinkwrap":false},"0.0.0-9216573":{"name":"formio-sfds","version":"0.0.0-9216573","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^5.3.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"54bf91b9a543f622f1cb207e182d7e722f4b9ab1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9216573","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-+WH1O8NlkQwEPqdv0Z7JrxFP3WdfBRmbzlemt8/N2Ki0gClJy1AwlOd28WYjDjlwrfgpmsHR+zFIZpzcmi5liQ==","shasum":"f85f379846cbd500a9065791a11e326bb4b91ce0","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9216573.tgz","fileCount":224,"unpackedSize":1252805,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMvuACRA9TVsSAnZWagAACUsP/3Mo8to5LkG+nBnrkr38\nadE4ad/cF6/IW4i/QBmEmYG/9uIrHPL8y4iQpuphDPMHCPcv3uSEOG5fSrBn\nmKX0pEPgns8SKCqgFLKvpoiEIbxjzJpvzKuoLTQCot+pOfog+bikz6EApd4J\n44qgRYGcpQ5u3/ido3DUZTAqB2QlMCn4Lsn7IdmjY7H2ofavrFPxh8Kk+CNB\nom5srwHv+p5FspXB+AYeGamCV24QSTo6RwmLAw8IFtBjUYB2KY+Js67BRygV\njnCdQigQe8G1NWHIQEhdv7Us3KZwa3/v+zc/dpZ1zo73dTGiLnO0bePhHCiV\nTkIVzgB1+9dnuxw71qfjurw0pM/7WNDGG14Zzh65FuDQPphC0zrXhIWRkiG7\nXxJAz8swNTc6nYI5TQcivzvrA0PRceKldsHXDLPLdTapVYhV9i0Q5Z1gJNog\n2H7ycwSSLaILD7jmFPtknhlU3LfosW6WZ36BHr2PsPVgqEVvDrZGK9vo7WLH\nlDNrQsQeKCrMbv+P5LIhRt+a6HeS7uBUgxWtSazzNhwVR4YqYDXV7R3Hfqk/\nCznzfzuyHqqTQ6zwCDCA+0P/0Phes8WssfzJuSkZ3aMwRRAdi1kbl4D1i7qJ\nUwcJC9g/VO1eWJkEsPT0+jjexEc8mGriiK8NOWfHqVNVMhfVAVYMt7eVkAee\nMO49\r\n=mhv3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBhNUSvxz+kPxBxtAgms6L7i/gb3GZkHkQZznf+7waXsAiEAg34H4s1K1x1liYIYNoPwifWOM/8xvIA3stjb8Nc4GVk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9216573_1597176703465_0.711866673581262"},"_hasShrinkwrap":false},"0.0.0-d077f17":{"name":"formio-sfds","version":"0.0.0-d077f17","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^5.3.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"92cf688d8f059ce373282f8605d2c73de8f013a0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d077f17","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-uqbITOrKSQqCHCIWaodYZfPzoLeCr8/AcvtXNOLib9SJZK1C1jQZEpfaZdlKpRXLI9CXBoLx0uL7SshL9HaLTg==","shasum":"3f8e1615987274656f54658f6dca876bbde922f5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d077f17.tgz","fileCount":224,"unpackedSize":1428119,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMvzWCRA9TVsSAnZWagAAMIMP/1mwPnc+9M8DJVsKnjiq\nQEdvaBy2w4F+oILgk63xXlFSm4whB9Sd14v0YOup7usSdjBJ+LmaSzRktHAY\nTxjsyq3JjamfdzNDE8JFHGb+WzrruUCnyadbG9ynfgEhIb2hnwyUTyJnyNUd\nLVuOETZ/gpiw3tAEMl0tqw4iIY5YLbF88HbeWzCsZ34SaLrAx4z4v/gBAh8J\nkWIT24raDm/dbLEfwkOvq1ppeNDEMOW0Zmpp9SCqeWcXTRcKz02P/JIh4FiW\njfISW83r1+PCdBboa1j8f1hnEA6yNAuQ3wO4QlmD1NR6hjiWMVSFFkJS70Wm\n8QaHoAQt3rmEi572ygS/l7lG+gLp/Uc3RgJm5dN48kWomO/rol4NwJT58T31\ns337n7O8W2cy2oXWiwL5DNsEo0+BmkaUqyA7mGBKVnKemfnY65cwAOP8CXcf\nJssBX+TX96OIabaONjPiveaZW8tEjdEBsAtJeRGicdw8YeYz2dV+KwYYmcnV\nw6mn7AYSj7EzaGxEp382blybp6FEOPQFPwrk6bRAhlvFprcalfrDhpwogeDp\n66zSH+EdqVUPeva1NtMeU9th/D31t+fPqM/dAm7CCL4GLlqGuiuWBXmcNPGR\n+lqjdGpyzlqxo7mBPbkY4y2AwUrbfbq0UVOKK/fUs1VgB5B5yAW+WB8DdWL6\nuOg5\r\n=xTWS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDM6UeZJ6CpO5TgKT2kUBz/2iUoFOpzDCGGmQgnsMpzUAiEAlxMwjCrFcth90ySMq1YoCCVqor3PZeKrDAFULCZr8qk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d077f17_1597177045774_0.7061709876721829"},"_hasShrinkwrap":false},"0.0.0-ec0f19d":{"name":"formio-sfds","version":"0.0.0-ec0f19d","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^5.3.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"d2f4550c568e7b56dd1499d0308126cdef8cccff","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ec0f19d","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-EytSRoXIg+3hAqjRZzPfC0OI0/M+TZF4fE9CP3CFDiAu4AP4vUY33AiiohEYANwz1249dBhCbVMgX/ipE3qLNQ==","shasum":"f951ab9e60e1e08540b30d28115b31806f8dd917","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ec0f19d.tgz","fileCount":224,"unpackedSize":1429086,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMwFfCRA9TVsSAnZWagAADLoQAIS/JTmnGmiCtjWBMOMN\nwhxcH2ixHDTYDtwGXoUb9Lqf77mv4xVFJM30XYUoglRxABEhccZ+cC6T3m4C\nEERRNKKQFjlgSW/yw9UP6ERxq2zGZxlUqTeBiCnI+bicoWQwJRNXOXgV/+Za\n6/rAfldRNnyXhjfB1+5k47TMxYz1kO7kcRSqnG37sLmOHBD8ABAM/N47Z8XN\n1xi4+9cMNXxovWBnhaavj6i/N6Mu957D/2F2fppwKeL2OWcNPaimk7QsBpHh\nsfLLiko9YtA5lx/mJc8/lsIUmoF15Rh8hPA0NhqZW9LAMCueB/dsGXFu9C8W\nT6aa3IJ2fpi5sKHJEBdo63hLg1XKnL5fwWrWPE5MH53A1z+P0l9YrIF3I2Z4\njR7ouiLc4QWu6oVQUgM5kd+4cEdq6PLdElHoIUvAyFAuwsx/xk5IGuD2WMUk\nRQ2c9vnn5vY3TjXzg3oHDNIwqeNMz4V1pxhygxWNUpWeEfOid0MVYlrl2CAB\nPOi8Q4AGRBz/pK2WObcQQUhqNv1vUWqfkHX9ef/cE8FosdnuCRJ6RYVK+Rb1\nJJkFyi3bY0weMr+AzhbqV9loAVk8/x34ELOVTwUZPo4JPJHFhFRGTT/5RVr6\nFUdFZXG+uQhiDAKJo9OTDH3e8OPTwH2USoyLSS1Ey/P7TgLlagRFjRE5HCYd\nx8ZQ\r\n=7+uw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGOQv+J03/cwZH0ihU3N3eCyn1N+WyL06e9QQ8NMUNLBAiAaWfzpB4RIGJLJcffHOVd1mU2jhlpleeEy1WPz1SlKtw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ec0f19d_1597178206219_0.6482053495282742"},"_hasShrinkwrap":false},"0.0.0-c6e02c7":{"name":"formio-sfds","version":"0.0.0-c6e02c7","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^5.3.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"2dba260a82caa1930c41377a5cab95f3f95e9886","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c6e02c7","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-v0LwY4E5W3HBKzf8F/Jt3R3iLZXLvC2o4WkEPTgVqWy+j39fYVW4dpRcJJARIytfnHpMj9L6baXEAH9FIC7Jng==","shasum":"5483e571011668f8474fce5616b58a8c86cc81e9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c6e02c7.tgz","fileCount":224,"unpackedSize":1432509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMw3VCRA9TVsSAnZWagAArowQAJCRVPj3Um/zDI8avYfR\nbLGEkqCFqf8nCRHr/yNHc6M20bA29bN/+S+61sv0ZGWK3G7U4NsHFSjEqK9a\nAWa7nSu00a3zAdl04TPdievXtnFnQl0y+1N83X/QFCkKQto9iY/0R+q/kQZn\nY+HURNbBwzDAwtO6HRmQUJIAE5zxLbMWiyGNxNrIAHux/E+mvqxSlcQn0HEE\nf155+xzeXRwrohSYGWO5FObJ5/dyTT3uGbGoOWTbKpoWbO68hg6dZRoXAdnJ\nxXf4pnD/dkxKFColVuC0P1dr8NMNTf9sx+Z7258vQ2gF0i+spWlmioXZnoi7\neKz03vFpqC3oIspoiJ5OcvKldNRMsazeiOoW41Y93YzckZYTMnKBeZLARaef\nQScDriirchg+46p5NnQW8UA7tEdRnq1DxzEuO1omokS9vtM6RZcFSD1rcyfD\nB1e52lvB8wfpD8y16KF1ARvzSrnKAA5AyZxmxhujJ7UVXeCoBeqX5CuJ0PWs\nFggNPAMAUhF8HGA1WytjGjiDhQaQczTm4E1z0+c321nS+s99RBwjT4qJhH1e\nKmQ+N7Nk6b6Ddd3O/yGCBTlv+Qd3gW5zFXnGzt/ULJnx0kTmxCvP29S/VuHd\nVkkOjmWC8PZplArSad6QgMv/W1Ah1xNEcLMq6dLNnCzUby7HRmPGttVywikG\nPXuh\r\n=8zN1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGy53K5Y180rryy/RuSw9roV37T37jO6G3f2sUtbRx0KAiBMNHGNdBFC4J5TPSMiMqBURUFtwB7qyv+SZSLEWUHapg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c6e02c7_1597181397219_0.4734898975449924"},"_hasShrinkwrap":false},"0.0.0-494cbb0":{"name":"formio-sfds","version":"0.0.0-494cbb0","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^5.3.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"1134c7bab4d52135fa7d74a97a63ba0f9b2d8816","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-494cbb0","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-K13xaKQQqUQM5eocQATP46gyQSXvIu698AC22rq/g9HytVVivmYkk8KLiwWamrXvNvnrShnREdW7SSKZkY16uA==","shasum":"d07069ed36146c43a2820e02850afa89e5f9072a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-494cbb0.tgz","fileCount":224,"unpackedSize":1432394,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMyBSCRA9TVsSAnZWagAAEfEP/0WNeIPsdUuP/TQ9nSVb\nVYEIHTzEJRqluulOaI9Zl2onyg/abxt1066tTOasNdUse0r2ahx4Jqs65kZ5\nBVF+NpCvIHuz33lVOsLLZNtaxho2YyEVK552yWSEwIdJ7Kor/9XPnPcQS5jG\nK3iO93TdmBzmKAt+sxfI3waq6hg+cbBrj5OFhuHMpmzNZQPLXusEpyR8hkWP\nu3XJrpkcoFf2uRjmuOMYEXGBFVooavAdDUvSUumaW1HfM8otI30TWOrckT35\niGH5b0seK+akNnz29Cg+MkrITew5wJZPgl9NPXTN3BynstbR7+cTHgmUqwMN\nxRqnAoVbA7TRYoMgvrsj3y43evEcUYdIGhrNFl+6a8hhTUnrC3lIVPUEy/ld\ne5ficMmq1qXvkUbKb6lpdYyd19KQk+tdcO62xG0hO21Woc42r8BtcmsZI0pI\n+J6cNeiaQL1ZEUYrq3Ts+du8oqO/6RJ44BEpXVmusj2Q7HiVssSPm+UaWa4K\ndO6YxZgJWGyNU4bfra0JL8uXHdOvUkacNDIDG+ug2EVgtaMIuDk0L2acRaKL\nlbkpoE+iYXaLm8Id7v8y9q8QmIz0eO0lTHtlPD2YUG/y4wa5Cpe9bj0AI8GG\nGuOsMwaWDPxjz6T2pBhIzSESF6bWvLQgywJbyoJ09k536yVfuMFF0p0K08sX\nvEC5\r\n=GArZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDrkBfg1fyEIkM4rXRqvnsb+sR59qLl/hk+rSMWSNLmRAiAJP3UBPd/amV1wM0zJh5NRIL8l9TL7YHNmQdxFYJaDaw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-494cbb0_1597186129746_0.09492387399821656"},"_hasShrinkwrap":false},"0.0.0-2469fe4":{"name":"formio-sfds","version":"0.0.0-2469fe4","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^5.3.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"c4e52afc624fdfb0b86f6ed347b6d9435b472187","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2469fe4","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-g0lm32Whx4C4E8u9AByei//BnnDGTQ/+oc+Sno7DTBwPoKrfXlIOvuavyJeJ0R/wYfZZ42iSiiNVBB8taEPKWg==","shasum":"ef9f185a69ec7c01ef9b832f77b13ee60773845a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2469fe4.tgz","fileCount":224,"unpackedSize":1433649,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMyuYCRA9TVsSAnZWagAAlyYP+wb/MZA9XO9NtJsjR1Fm\nU9MJuT/YyuVMDY53fF+x0H9bom0njeBQegyzhUoGFacubrKozn14MUO//lBt\nYPBh7LEMlyVzu+JWDFWZHNK3aChz9AjB0cKsIcHhqU6+gpZW1jAOSt2+Ftgb\nEJa5yts31c5BpBRr5U+lXwj5Hfp23tH+9+8EbsWhcw//NSXAtlBux4n3die3\nMFKuEhD2nVHo4vM+BI8oim0VIBye/JV68+o+/I207q0HW+Mp3swb+IjYWq2G\nF2pdmAeDXBTgwxWU1KIawhmEZmtEg6lyehDBgbJPW5LP/Lct99FiRCgF5Y7q\noyWhk+LAcVX0NBAWDPe6oqfv4ugLf0/0db3Sj8JaJPNIu1jw8YF2y4NitPlb\nxVlVx1+86F/FKjvfJeUSiltj4XZN9xArLV2egKsMuuKGO0380+20RUNiYEfm\nBxDhpbTSgBpCckQBySCyyVw/P3PXmvapTa8WUB2wxPojUBNoiPPDEdANY+HA\nksvM0wZ+eaESZVGCp+Aw1aikOqzE5ZOTWhkjVj0O7h98yeZjaKJLZqg4hGzM\nK2KTc9MjbbP/5lPxaHWqZqF8B56l58I00retcOLVhwHEiEcTJr20oKWxg0Vh\nYLj1xwYY5mXOy81N05GNOVQq4LwAreOSsbMZydAXKS7X0X7u21jCLRGswZRI\n4SiJ\r\n=FNVM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmoR+YKW3rFntkpYCYWVTRLyrO72hdzbW5Wov2UdGy+wIhAKRgUNaAtjSwPwzxm1O+BNAKxJFa6tMD8hCRq4X0Ar9E"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2469fe4_1597189015749_0.970643138964135"},"_hasShrinkwrap":false},"0.0.0-e9c5279":{"name":"formio-sfds","version":"0.0.0-e9c5279","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^5.3.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"e00bf101c8e6b416f3cb5100ec62e59b2ef0a737","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e9c5279","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-0GjmV8q2VQKBRE81E6/SvOpWsy53crqq4DszegYhtzERrOdlxh+hj+eeInqAfnRRgDcamt22ewwMt3degEQpPw==","shasum":"01429a67d80f5620e39a30ea441cd1d326273b0c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e9c5279.tgz","fileCount":224,"unpackedSize":1433524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMy5aCRA9TVsSAnZWagAAcXQQAJfb4iAgclOvVIwj7hw0\nC/+YIWw2UQgi6OxsR4jQinwARk2bZt3UTOUO5bdVW6vWBFEwxMQcy1pwC5wl\ncKkyb9YeDwr6CsVrKnUk1i5vaxA7EmWsUGx8ezs9AA+u9DZfwqfjZeMs5Yna\nshCtL8sw5ehfs94uujLY/ruxYx0m4dUnB768+LuogOSWtmOZ0SRguy27fGyH\nhnrqctFSNz/RKXf6p9EWFqfk6tt2yyZKoyoNssXyTuyHzO7F4gPzdaNNG8hq\nMO8BHgACNyvkugLyU1GdEvQJxQ2C/8zxWLxL1hzgacjFU1qXX+RR971k8e6U\nDjIzdFGnsNeHOaxMcwREKpZ56wsABtfiZNjXjSfHAbxFAxlIjCKFipxLWpro\nkxmBq2ero88xJsqmHVKq1Yts0u1hd+me0+3msWhzLUxrENnsyhqMOKzSxvs2\nLsYYCLSGjHGllD+MzRKIW9+vo06eRiR8tJ+6wZbpIh1DuSLO0xEOX87tWqYK\nBOynXNrCv3iOld5XtJo00gauJ06Rtza04DiQSxoN35tUcl+bSkvJz+f7Epcg\njrvyh2qr4QtF+yp/UMOT4Pl85y/egycSYCxesmIO9My/+teb0e4buhMDHu3C\nRc07Okgmb0b7dGxyW4jS+gE+cxmYXOw3F1K62WVTNCGHLWAn5Wzs3EnXfhy3\nUPxc\r\n=FOj6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHqakhMHKHWQHWvXCPP94Jo6ZFN5AYnIj+JHn0WzZMFFAiEAx97ZmqsI0Uu3yggAV+m3UM3MDnWb8el3eIfy0lwD6EM="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e9c5279_1597189721809_0.337106612019076"},"_hasShrinkwrap":false},"7.0.0-rc.c34294b":{"name":"formio-sfds","version":"7.0.0-rc.c34294b","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","rollup-plugin-terser":"^5.3.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"baabfde48971d601c7a13779d1c0a0d8bc8de4c2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.c34294b","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-earXuLhuO8G2XrriAQ+8OjKWZt4qdpCXWoMFaVgvtqALCn/fovpDd8KVFW6Cu+HXBs8Q3zfF/XglXEkAoz2OhA==","shasum":"dac1fadd220cec719cd9776195e88ffe94ba88c4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.c34294b.tgz","fileCount":216,"unpackedSize":1317351,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMy6fCRA9TVsSAnZWagAAkmsP/0kXDN90lFXgcKSq1haI\n8BLAGTTxvanKM/4vnJTQoU44hi/vALdvrp+RnHw7ItLZ0D61qlG3LXLeL1P6\n2N5FCqsoNKyehB88DqkKcybHd3YXe8nP4uUXGhrOVPvqDnRVvYyDAL4QRtaR\ndhCaCmUMmV8PCSCHBW1dA06zNe2cUgWUZKG3tNTH1knLuZeEEZVLkmCA3SpC\nQ0oU2bDEjcfZ0sp8jANx8Aoui32NcnQb5jtonZUysRerrRQvb2RZ32KcXSqd\ngnsAE08q90gm0hY2/pd3kbSUJN/aLGsQ324q6hLLlPbZTgtbkwyoxFEhJyYD\nE0cudpHtXGzl3OU2Ma8yDBVP8myAueRRiEM/cjOtallQTG2MiA/B41LVAUbi\n6A80eXrZMlTwaO16LCkfCRC5pQvI2iWwbUxliQmJjE30aoo/q+GgVTh4H6qX\n0+L90lHa4k66z1HWxwNs2sNw5nAea3R1sqOO0wt4metO1hDC/MWA7Qgca4tn\nakt+9PBvQFB+kAqPqZQvAmX2JxQ0IUOlj7a9sQZSgdVIRu+7AiBmAOYoNRdg\nRxOLRz45HRcFaT5nc8X5fep0OoRT6he8ffohHaAIV41cEt8ykAP2ugo1lgZW\n/B3FwcD1ljwvoJjvpI18FFdOlEdo8OcgB9oADHABbBQfPxhLOqmGq9XkEmdk\n9w9w\r\n=1O9c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWFUuxZj+KjhsG8LMwty6HAbsElNETEdqOUF+2Ejw98AIhAPqGRLlxVG7AcJptldXNMhg5Enom7S3OwlL3cpnrosh7"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.c34294b_1597189790769_0.6835147274123166"},"_hasShrinkwrap":false},"7.0.0-rc.5a775f4":{"name":"formio-sfds","version":"7.0.0-rc.5a775f4","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^5.3.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"823a0b4a91fab1c17a0a38acb3b66c16678e501d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.5a775f4","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ccWjiH5/zjtQXLYhkqpEYBsPV+CGgqirnJK0zzxJR2DtAKxTOG/K5BeCs/CDM80NHGXCwdAKQynzECOCger1RA==","shasum":"a70ff881f3067065b3ae4dc7c9a8ef36c35447eb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.5a775f4.tgz","fileCount":224,"unpackedSize":1433527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMy+sCRA9TVsSAnZWagAAczoP/2WJKmGVoYedvcVyZ0cd\njRjYXoHSTwlTpdttnKRnTEYx/FUHeZczBxb10XzyJJbHOvBLn49MRmIMfywA\nHHTeM0YTGeN0zHTX2x05xHS0T4rhboan/JRvuXBqoAW8zF72YXr2hPJayZbv\nwlqGASI7UXPLX0Ch+SU3SdvnPZzSFvyzidgVNpz99Q82zbK1hJL2xwGkfmmG\nWzUS3rjcQmiM3DsM98PCG0RUP/eQxkfVWkQqAQpi5Y4Ij1MBqo6vckVWREgr\nU0NfR2IlUN5FBgiYcomaxVxwIHkkUUreIxsREr9a+1f31yQ8Ja0euilLaWUy\nmBPYcDBUFRsbZ+UN6TGzdWvfL1fHvg3nMFu51MPSqqLqWCUyazfVK0CXRnjv\nEWmHSJs2EQhJr4HDj/9KXJC/iOso4AMeJANHX4riWzL3ytvoEzYTuk1AtdBD\n15tAOcxwTkXHL/Hh+Lt8TNdUGUx/IvBTjYKW5UMrcRfnLxKmT1mBRmf5cxLp\nTB75qAZWXUEyxiDkQh883QQPW84INOvXOhVqzRv8Tb5OW0kPIIva3Bp1WQKi\nx8tr/pUXR9qMmvzOpXCXCwtJsoCGk4Vya9X1QzCIu93wqHDcu/Z2lNdv7lxz\no1IIP0nWFEBI8I2P74LwSP8LDwaGVENwBZ9EUwKMKm663HsubnNDAFH0ogC2\nuboG\r\n=xEam\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICFFAjbtjL31okuO2ue6uFy8KZi4VmaDcXPlR0OAvdYGAiEAug0TyWde9JyLpLV1EavAqU11bfD98lptG4JAdjKxYdM="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.5a775f4_1597190060400_0.9393171666740345"},"_hasShrinkwrap":false},"0.0.0-2382eb1":{"name":"formio-sfds","version":"0.0.0-2382eb1","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"843b7f5814d48f16fbdace1310211e4420cc3de1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2382eb1","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-AfWHpTtd6TwIhmyIPcPXWTNrYK7KOTzGHmhwkbsaoKo2f+/XjACUs4h+6lo1uV9hHJ/q+TxUUIlBZLCpEjIsXQ==","shasum":"4d0e0fc97e0eb8bab027dfcddd0093cab1d7c87d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2382eb1.tgz","fileCount":209,"unpackedSize":699441,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNCPmCRA9TVsSAnZWagAAOBQP/3VJMClUpy6GOE7faztD\n5VhW4NLXaX1/4jGZoVjypHsO3dqWtcez11mt8RmEf1DDGAW2C0eyaiQusHnv\nLq9Sx48CVGX9hAZYyJn56eeEfu/zgaeS2VR0a1zpQqoOliuy1lkgrtkWIZ4e\nHDGzyWaOwu4IEYjdBrcqjFlWjkho/gTiJMZM4H9nuAqkAY8CYs6u229sQ2DE\nd0DcQtxjZwe4E/8tIN0dEvdkTyUc7LZutEsX8k9Yhr6va/EgtSZkGx8236cj\nRLBqr+WkFyk+0F1M5nqZbMV1aiHL1lp0OoSXWgxm+du9FQ9SY2lFBn0FP/Bf\n2hhd7H5qXAnRbrvAmEFNR8SaH98fmZ2w2NYCjgE8ljhN+zSDv82WE76gT7Df\nDxfAyRkcOvTNWTNy61Isy+eijUZ4TqEP6VC++DDHODjIuIPYtgseuows9YXF\nnkWL4SrGbaIGH1tX+/b/rMc1u1ahnmL2UiHHJBJXC5WI3YfLenD/RjqKB9JP\n1HVC9DqoekW3mJT+RXeWFcSyRUfYSXk5UlLk0+wP8TVvceu5/kfE3X+vCu34\n/6/hlXSmqG7azNlpgMGMgzXvpPJgAZMNF87DFBhxrORRcoWIiYf1K6qPkSD9\nTeKgGxN5CDwm7f7wLOlh2TeYqyeAA6H4cjGphgAej/aPJkwbciuqIMSLW1xy\n+EZ/\r\n=p1mG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCevnlY2V2JpwMt7NfZeR4J93aNUSp9oUmgpoBaHyhfswIhAONnxGE99k05nMKpDpqgE9DFPMPppUDP+0woIg80SDHe"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2382eb1_1597252581885_0.2980471755000105"},"_hasShrinkwrap":false},"0.0.0-e3c91ab":{"name":"formio-sfds","version":"0.0.0-e3c91ab","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"495673dc2c273dc85b95c984cac757471c521dfe","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e3c91ab","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-LmP72p5HRw566gKxuEzBfZfvpE+WMI2jNU5M7UV/p2eGHO2KiN8Z5vjMiYIp6Dhmejmjg6Ur0U5pB80LLC5BeQ==","shasum":"25ec40dfd88742fb954212b7f24de1467b76ae61","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e3c91ab.tgz","fileCount":214,"unpackedSize":703911,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNFOHCRA9TVsSAnZWagAAhBgP/RmAZTFjZffFZWoC4dZ5\nkmxh/BGQmkI0yMSEcmv+fInIWw50/LrWWoiOqqrUtb9SEvLUBGQiU2dUrdsS\n06KnMWGrpP6fUrLm/Xm6vSgtWN9J4QaitW3kOsuD8vcyOZL3OVkw5ddAGkbx\nsIpxGH4/fNIjUj7xGb88fVBbQAwttRn5i/N0g8yH7E0fwz1+BhNIv2KTYIKc\nzdKbllBuIcZWt+bypmbhkUziaz6WECkAeG5f1m7OSqUS5DG00K3jCDUKxEc+\n23mvZJ1f0NWKS7ZvXnmVd3LiRnSJ/ih/izq0ykxj6D/x0KCswj8XRbFmZshQ\nTbj9LW/Mn8NGgL6Abhq7G3yRsq4iBBiL55G/FEgnTylqj7SmpfLX0ixCmch3\n6EpdIIexl/AbmNrtYfb7cuROHAwBQa3NuY3XAnS1mVsoqgqdAXcxoBBAcZYu\nVHatFBKSP49W4WHx/Qq5aSzKexeyhfJc9ebnFzv8wjzpusZv8OdsL2aGocjp\nir/OrDk/rxS0Cnd8ABXu8tzQUhRR904m+/QLB5HLa85bMtc4racm1RPPqCQ8\nyTZQOxCRtqOUt5RfXO/d75+raqsXR6ogUDhk1s0rjReyztZ8Bs/gUvECT16A\n4SN0ER7ai0qwsH+R/xGY84EkxWacVM7ohF/mx2DD72p/IL0efTlo2iajLVl5\n2pyn\r\n=JBLh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICyUG8e0CRBglaUnRUoIUxLkUV8mvjuW3mDJttG+vGrqAiA5g4h2pbl4YxBt/cPomGkTJFmzzpRvY2eDAqE2sJkXDw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e3c91ab_1597264774985_0.6277833368673689"},"_hasShrinkwrap":false},"0.0.0-b9657cb":{"name":"formio-sfds","version":"0.0.0-b9657cb","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"c8243c7a69e7e7b21f637be230989daa26342307","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b9657cb","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-V0jYtMHc3VdOjG6pG0ykJwOq82gls8cYt9dU3PD+lTM9SMei8cBRdB8wQrv+cHrxjrdz/mwqkRlnn6p4Lrjg3Q==","shasum":"0d2de1455950dec88ad2da97ff67e5dfe646b9ee","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b9657cb.tgz","fileCount":215,"unpackedSize":709033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNF03CRA9TVsSAnZWagAAepUP/2XrsjV+g3RF19EuIJ2F\nxYugouW9vbZSaUJdEN7PwxJzBVfYiBYOetEcwjPLR4DLU5JFkTetqf3XgeuI\n2lvYEpwZ/Axw2GEJ9hG1hpZnMerFM5FGJIWLVMso8YVcZvE5UQHAjuNKVG7q\nlvqlUr54+4Ah7ZBRk4pfdUO1RZ9OTOu7wdSd3B2dO1AUS+habeD7Jju3aUrG\n7uX9lhFrs7YEm1JyEWp2ANtfrmCiRDEGGoQD+bZwO+H9nRwdZGsdupXu3VIY\nEDLqZFED+fHoaLSXMMKyp3lJwLOTueLWgGXJTogGCwKfXr6VhvIBtD7oELT4\nb9t/zosihfTbc+UaGi5gs/lNGxUjHI01azJVrLpDGv7zrTXSy3br4E1hTvLU\nAYZ/vnKQJ033ig27gaMt77ec7P0ZAT5yp2rBp+xbgeBamLQ3EXT+zNZbbJ1J\n4KfZjESRevHKNYXpjM4/4vJfT1c+c4f5xzOWBudL4gcvtOAAYgJQbVhTaC6Z\nrjUzpCzmjvkaFS6xfHTCzg58KcHAOmJRuxza+ktRx0B63buAUUc7R3cispxV\nFIbfl4UW3UCWl4ZfGhwqZeqR0QZkhWmECs/IGh77ziXexbSTSp5Hi1rEu65d\nrMOdKw3J3bh9jj9UGD+1yLAz5dlFOaF7bbFntQ5Q5/RSXoXMa+eiDEILebzq\nr7Fw\r\n=llVv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA3oZU2lMNInMo4Xdvf9lerUqjdLqR8PPkK/jOP0M4XcAiEA61BbU+Vl96EF7u7vHG5OvlXsHSudgCH/ayyZwZ+cS68="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b9657cb_1597267254822_0.4561581781122881"},"_hasShrinkwrap":false},"0.0.0-3977d41":{"name":"formio-sfds","version":"0.0.0-3977d41","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"1369217ded7d53600f2f11f069a1860678a0ea61","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3977d41","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-vN36gWy35wDF9Q6TDBuxiTu7hJxssvJiLlA190bWnN9UT8vHzNHHMvy8qG9/oSftaLquu/U0syl3dQOoKV4Hkw==","shasum":"16b0c62860ac2919ddff9586fdde6b9de67667cd","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3977d41.tgz","fileCount":215,"unpackedSize":709646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNF9jCRA9TVsSAnZWagAAJlMQAJ3Mok4WPMYmec5Sjv80\na3NAv7Ko6Ola77qPPQ3XXROFaaunpbDKGItm9H7P5xZ/jAFvvelrMF+tjTmE\n1m2tWbxB6iuNoX6tzcgfRnmTiphU53NZ/2JTWKKtvmFpRy88l2+98IMvHn0t\nD0NoKBn02oAYX+MXdBsoxzlPFKAs41pNOuxAskcS/OtCWaJktfxnK2mNnzFM\nGwtTsLqEfmyeEmObeN51ymz9fnCuWNYEH8rhlXkdf5J58fZ21BOfiHhnlWGf\nOQxCZKmG1oJYTSnF9u55N7gYOQtWMQkbVzINZ3ZA5WVoN3N00RUiqTdfQjRO\nj05qi+rePUzjeVW84g1vWuq1YVoRwcD4Yg9d6ns6aX7forwZgGrPoDXezOEn\npCAaSSZS/v8vaPGtlMjlEiiBY08d5P+FAAKLMBT7ot6y2oqZ+sNfvbrXYGb0\nLbDOkN1rN4dm3FNl14+AQNwxb5DqzXfOfANCcDhGAvqhFk8IGXnRSQs4seDB\n0MAmi+8Qg8mVMRyq1fq/qmLWYsWE3TaPII0wY9ncBBkVFCPDMDG/p2bl+ymu\n3IHCMd0FyPktUFZzhhXPJeRHrRESDdURp7+N0VhTm/C1oYGw5CVQmvshh4te\nOGSkzXXiy6I+KJKYv0YrmSulo+2qDOb7qfbq6D8fHTQHE3pU8q9eksTh92Yu\nwYUh\r\n=8Wm5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBK2mMtlsDSocgiCbRfYkScUjhQonPdZeQPd1Dglp1e/AiBryW8Z3vbkdJXFpl8jG6+1IlOiQ7lPfV/ZjbCbA/kniQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3977d41_1597267811368_0.9422203079944282"},"_hasShrinkwrap":false},"6.0.5-rc.e097fda":{"name":"formio-sfds","version":"6.0.5-rc.e097fda","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"3efef9f7ced8b721883f28d27d03496268a4bed3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.5-rc.e097fda","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-YMWxkijkHk2cTPjPdsuKlIKOm5S6Mf78UFJDmalhIVMOM3nbfWKB4Ujxkyn5JF++bIGqFze+mU+EBlZqFHZ8xg==","shasum":"14539f807c2af81aea79ac208dd6b1cf702982e2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.5-rc.e097fda.tgz","fileCount":216,"unpackedSize":1318624,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNaI+CRA9TVsSAnZWagAA9roP/j0eTwSnGrgcE8UueE3Q\nN/zEWoS2reDky3qXSKLinoC5NghAhBoZ732X/Jc5GS085Fu1+RZ6SAeFlVjg\nn+/9WYXi0kpANE9sxOsPEcc1awfeiIqBLpPEz+SpD3IGDe2YAo5PWV9GIg+4\nVMI2zIigNc1nIa1sOnv6dh+vcc+KHvrBl/Y12B6z+y74GdKwPYlaH8PGh5OW\nN1105rmuDcppzuT6xX99JeQiv8EyLyuJaFvu9vSeYaQWQbn/6rKfWspmynsp\nLuqTaJOr1rX6TcSJamQNVYLsfRZMB9bdNOuE/rrkf4YbeowZWkoyP2jG9J4m\nqLgGxCHUq6pUo5T4s2uP/V9hz2WJ7kRDHELSxsO8epNsU4phRRSLQ+gVwscJ\nxGdoxema+PGjl3/vv65uwgEXWj6Y7DTwpPwuT015TTWYyfETq4MrLwoZX6SY\nLlcCf1o0+62j2qxgQEc6SHx8WSVyfiRoCEZXaXKjJlQjL+kfvk8na1xXAqJB\n1WpXkO8W0nTIFeqEwmuS7NfkSXT1O3VXsN+k//Utmo+BzsJW3HULuLXb4Vou\nW9GGk5SAGCcopo7kj19QojXvYGTT4VIH9uDt+Xq5zDWLjq6B0+wIxZu9jyLu\n2rFbthXVqgMyVlep5PP03BYOyAod0RFC/0NtehvSM62TY9hTWZbwBqvVyY0M\n3/Xc\r\n=/rG+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAsWinAWKFfsNnQcwQCkkiGxbEC47bvuFXdsSvkMmZi+AiEAkOKD5YWajGxywtBA0FY3EbheZ98aioRmq+M/Ysg5n6w="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.5-rc.e097fda_1597350461945_0.5622191518311759"},"_hasShrinkwrap":false},"6.0.5":{"name":"formio-sfds","version":"6.0.5","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"gitHead":"a9bb27d2e9b4d2a87693c1892a2d7369507d601a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.0.5","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-uam7hmSL08HDAGYoCWKMV573kikMvLHXcDM3/iY1fvsVcHbAVSXHEO51Xkfg05OuZ4kKuzNU5urpN34j5ctLfA==","shasum":"92283db728cdf34dd5804619b4f880d351b1b14f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.0.5.tgz","fileCount":216,"unpackedSize":1318613,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNaLsCRA9TVsSAnZWagAAor8P/RO43g6hh5HaXt0S42MU\nFfVGkAI3aSGdNR2/+/IVLSzf7wuuHeYAl1Uue3qlcRbyjC/iIJKNDQ5sy0Qm\nV4QeRPUT/dBd5j7Ab2Iz/VBCrek3VNJE1/SJGdXxGXXB3AqMpzXzIhc1/Q6J\nAhtsD0c9xoAv/ZwPaHVECoN/PbTdffZlFw3V1R/3371bAc7FVrVdOiEbTjwB\nSTpVoLCHZ9KW8/PnP9kJNjxm+DS/XBafOkbTUFWoMFKrpO9zgTnO4XVeAUwp\n2we7sRw7S3mvKnUBqUwaC1Hv+Vbrr0k+fe+W+Vq4XxL0MVMvmXj2ljaWEtpe\nRr/j3l+r0s04X+38YuthEVrAQ+w1EvINWVqn4mNDhlBYCEEmm1NitSfthPnI\npB3ggXUIDEfq5qYng5ZSz9Uef+A68/Dkb8EidmZeHZ2T279AM8UBjCoJtpDV\nFFhZjW28vU9BxwB6VV/y6YLit+4z7dfiX2zAyY/iWvZBKpUrgpGhvNEsv+aH\nSVk98e7LH/kN1Fu+gl+v0qjJDVbIL8kxukX7lW2nWfMlCtJf4MS++fiRU0jQ\ncy/xOnep0uGr5S8WHuDmBFyjWj/Jse+wQfXJyqAfWjmPkWQeEx+NnT4kmPA7\n51nhdRRF7uy/eWCAz4ZhhSbFw7dOjizE57CKS5+jiQBIs/4W7J9lp+d/6kRu\nIkGW\r\n=UO4N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH4PWt4UUQHlF3Ch3QjQtkh/acWe1mI4wGCxCknYp3v8AiEA3ftbQ+kxNB8kly5pmt9hLQHJgikvRhS6x1INLN6JHPA="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.0.5_1597350635888_0.892578871438269"},"_hasShrinkwrap":false},"6.1.0-rc.a16c49a":{"name":"formio-sfds","version":"6.1.0-rc.a16c49a","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"01970fc581ff79215f746cd767e199f89cce4fd8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.1.0-rc.a16c49a","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-EGPjci5AwhfLvWPcyJdx01G8We/tgPOWZSjZkwMetpXNx3U4+bL+TF0/zBZ7kEVaoG0GjkILD5IX+r1ufSxnwg==","shasum":"07532ab8a719a79a88424399b00f56d946b588e9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.1.0-rc.a16c49a.tgz","fileCount":216,"unpackedSize":1318624,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNaVrCRA9TVsSAnZWagAAuOsP/jClEkwNBImsYF4Ihfrx\nCvu411X/q/IEN3tY9qn3cgGXZVSL2XlhfNOwSY/uX2bvwOJraHWIZ9SwmrOt\netKvit0EUY4nyK+6Y+X/8uCRolzA4DcaZOhxlnWIgT46SYHF1Vvq/VDRn1Bs\ndKO6vuMtMirn9oVQo3j+x3Y97oIiQu7IMYPZ7ahmaL+QS+rV1p8BwJ+5uWqG\nRSYNF1NgCqqgQB/4GKsFSDADGfWGlHwbkN2cDpzhHhXYuBwynbmnQaEdsD8H\nQSjs24DDM3/7jePNbAKgPXtVHA8OeAWOkJm/vZHe+DlMVXRCoNWdhGfwgMgS\nHMWXSCHgkSFLDZya8VcF2WckYn2gPWuGFANOqgqZI7HXVSlL05Xong0A/7vs\nBUIPYpEAN8WduC3805xoEGCRa2332znnfu5Nza2ANargW5Dj2mt9cgKnCyti\nsgVWsfdRy/8mSOO9rNKa0nsJ3BEd1zvWwyy1vaHbJbKUSHmJx3M/nnom41yZ\n8jD3G2tWwOAZfAAP5hH4lpC8VHWc1RLKhWUUHIQYOK8HkbYyE59h1+dR3WUm\nGXQaNrguzhUFcjJCz/BZdy3yd6rwhHh/z+8yXFfqVLmI6mUcpfbvh47zA/+C\n6Lno6ZfWHMiPMG6QthL9JNKse1Nj6B8r3g1jAC1LrDjYoJ0J0Uknbe2ECfLj\nw20+\r\n=9NMd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnCQki9htOj5G5u4AULfNdVDjE/B/FVS4Xep5p/njaUQIhAPmZ+NRFeoTmyqRTyzaLlt7iL7WH7SvuYJ8Wb5uQQDNI"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.1.0-rc.a16c49a_1597351274911_0.8872715895839871"},"_hasShrinkwrap":false},"0.0.0-9ace8dc":{"name":"formio-sfds","version":"0.0.0-9ace8dc","description":"form.io templates for the SF Design System","module":"src/index.js","main":"dist/formio-sfds.cjs.js","browser":"dist/formio-sfds.umd.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"4b472b42ef9e51c3b1d2a36e438f75f38476d9ef","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9ace8dc","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-oDGoH8UQK7SooYpZozW+vmSzpU8+RIixmws+xjhrc4qefQi1fi+eBfUvNa29ee2BsncZO6E/zb40WjUcF6sIlg==","shasum":"bd9f7cec6c02cc05228c9b9a66a4fb0a87ab5ec2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9ace8dc.tgz","fileCount":219,"unpackedSize":1339346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPClOCRA9TVsSAnZWagAAO3kP/RH3AzlHrtjDzVQWFqNw\nJCLQ5gJolNR3FwCnPJ/Su9ouf/CXIr0fWEeNQ1cKRb+Jr1ROBxmiT62HYB3n\n9kOnkRJt35oNxPNnZp3X4wmXuHnOw7j+8eMpou5AbcRv6KCOu/G87UH7ZL6a\nyWajRQLWQvrXDtamuMJaGSoq3z9nXa/kvo9ZfBmbQxGacmYcwET7AW5F92xs\nuDcLLVl3X8VPSknohr8nVNJGZa3Tv8RgUOKQF+5SKyOrwzGR12Q62Ly7sdlQ\nB0oGCeszXCNE1IymjKsZQeQ/moE68GZ0Lyt2nVxNi3V7D9iD/+SaV4eBWt/s\nEp5Jt4WfjSB6qvgfP0nSEmLZkr1Vktr22cFVqzFYNSPnH52rqXzCs8qGycWv\n/QHsnKa45HEN5mBL+S0ZV4yflj4HreZPmhcLw8H29fRfNBmU1WPluzt0T4EX\nxrl/yb3l73POJLOBvE6RadDwV4UWmsCdcKqnHAuDW/3hGIzXCG7avubbUNTi\nWc2w06ybk2QDAF1w/3rTOtV1EW2WbYtX/E9J99fT8XhZA5OSpWSEhqLs7ZzD\n2YgNgOlv53+pw20+fn2rRlDnXtBucAhUIyUcwDJftwjaG+y8r/9Y3WS+j7mt\n8LoxLWIXC2k/M7ocPZkr8sPZL+5eRYwCbibYuyvyJMFCM05rmpzorvtMRueI\n1XG6\r\n=ZnqR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHyvbTAhzDCDl/9uz9XJ4L7LGmNqb0nuMqECXzrEfAfYAiEA/H82vPALHk4j4ucRwq+K9DWaC1jSpMQS5xeopn1ui34="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9ace8dc_1597778253403_0.7851197554968199"},"_hasShrinkwrap":false},"0.0.0-6ac981c":{"name":"formio-sfds","version":"0.0.0-6ac981c","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"9a8901fc0324239bd9e97aa48d9d7a9b93743587","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-6ac981c","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-iKZ68KaOm+JctZjt7XatZDjrz9I7rjSTANFUSErI9ggC/ALbc3mxWMD0DR8vqFjfQyAxsjMfObSB6N2mJfpnug==","shasum":"a1f668d5dde36c572bc873d86903f3983a363180","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-6ac981c.tgz","fileCount":216,"unpackedSize":749588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPFNwCRA9TVsSAnZWagAABeEP/j/CkUCqM6s2UvqQ2kcS\necSC+thorfiUwr1ib4Tj3PpvtOs+mVlTH0QH+xKH5/3oeByUsX7G9FgbIQ/R\n/AUxv0zOuUNtBRLSjil3P7vaHTcInrtLkFWnDDNtoY0S3EXaqq0dbnZkMOL4\nD7sBmEF45UQ8amEnC/gZfiOAQ/RCkpTrrJItuU5Ub7xBlHd14bb450XYqc7Y\nq4UyPineLNnLs+ed560Z6w9X1vEjtkNttvqjuDk1IDoVOSNqRotsBuYhCyKh\nfbY5UwJ8lFZ+lYdS+2yTN5g8kd914+UYTp74G7RfXDNXXQfJAzjWwP3FxYFx\nhx/3VYtUIwalgKweSaUNdW09gzNvjmKio9HeFX7OB32yu4EckdUCIK46ww4m\nIh+1mT/TlfL4Duqf8RG3n3iG1Uf0g7di0/8KQLy9qc9xsdGXzOqALEqw8tUt\n6dbzmzamirTKLRYKAWrpfCiCji3RiGq8ymz486kQCKSZsf3nr2Vx5GWFKIsn\nXvoETr1kRGEGPDWcpONDrnM/5CizhJpsLkrZmxhSBDbYFvytXd0vhbphYxCV\nKmHdp8eeReILrGbZ4o/hDEhfQj9iA6PF5UvRnEfYGy6oeynbK3SyyDQDiJ+N\ne6rBDKYVC0O9VQcthfNkRnmmT1EUUHNll4+NeGx79YiVslEQ6obut/zygX5q\nVRbw\r\n=JZku\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHt8pdsZy4Er5crlQgPJ9AsvG4LdqbW0GvtQJllWBOiiAiBctfx4dVeO6Hvt5IsQwlVDo64vOYBJQ15a2yW1ZcFhGg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-6ac981c_1597789038895_0.9191038851896651"},"_hasShrinkwrap":false},"0.0.0-d230d7a":{"name":"formio-sfds","version":"0.0.0-d230d7a","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"a9a6365c5a5ab378bba3b37eb86ab991fbaf7975","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d230d7a","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-SUuZd2iE4JirN4kUO6fdTbe1Vhf4LzML07V53sjmB5z3yLji+LfqG/2iE0yzyMnjR2nlq7AL1Q3QCt5SYOqlVQ==","shasum":"e6ac05554364f3373c6ff57d86b65ce856dafd36","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d230d7a.tgz","fileCount":215,"unpackedSize":709646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPG/1CRA9TVsSAnZWagAAICoP/0VN5iUnBngoFSJbB6UE\n/9MG+VArgoS9Nuh6hV5uyoiSBrUtSD+nwSWhn+pzo+7Shv1X9sw5g7Zmq+kH\n9ZpmaD0XBIj7znky9gSWgJ7zE4D8BteCW3fgWQ6PofnP4Kp/3rzaZACYkiz7\n+Wn1g2cpnn1oFR4sE6bjHh6VlXE74qOnU4Rq6st7EbpRFf7xFswwSjVkuxh/\nMUoJ7/zvA+1/6vMu2kmaw9bsWwsOq0ul8tpfc6Z+14kRVnpTs2WJwgpcDCU7\nAF7jbQ6d73zhcFBjE/vJzCbf6F7jQdVPB8yAeB4D+aorX8UXdMmqA5aJ3Oio\n0NjK+6HDKtUzAAsBLEhGjCAIXdCbqcFAbp/urSwd53vp4uDwwKpYx8aehcEO\nX8J/dLxlNyDObVAm6neStCetM22/OAX1YudjL/WNU1a7O7XXAcl8ZSlpdTdR\nLmbVxraFVvZ9P5bZ0U1nopEXh0FzbvsW0v2qTfVtM+lj7sptBzy4Zm67o1iw\neF4hV8eeDMgE50Z23cUz53hDvBqRr0BjFfmPkMWLhddGslA2veNgX9MG9Dxe\nhps+d3u+v/j1xII6IoFTtqVllXTTaGxp/jP1bFSa8Up8ioiqnaejq5j1hAar\nloQ10aU4M5gJ5cF7wabYs8v9S+3sJifv09AP/GwxdRz+BDX93jgJzfRWH1zk\n6G71\r\n=SD9C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrST7GvMW42AfGYG/f3BM8unn+wooY1lrRbxXfFsUESwIgfYvyYVKcBmQ/TW5pATW7Zuzd0jHDbb5p4JRtRyFEZgU="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d230d7a_1597796341112_0.16907775204541986"},"_hasShrinkwrap":false},"6.1.0-rc.c4ab243":{"name":"formio-sfds","version":"6.1.0-rc.c4ab243","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"9ad10684fa89a3768973ddaf0608babc264c5cc0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.1.0-rc.c4ab243","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-If0qGzGOkQrnj5XWXXlZqcl6F/Her5kRK+ccOO4a5i1eQqtVnEs4VNbMhcGB9TE3XiQuhqoYDOlW1g8b0/t3Qg==","shasum":"7219df5ad02555a6b3fc1e15c5bbd3cf98d2df5d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.1.0-rc.c4ab243.tgz","fileCount":215,"unpackedSize":709649,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPHEHCRA9TVsSAnZWagAAF9YP/0xtKGen46H91t3slpnU\nY0z/u1bu9KMIhHtnJwItkIEj7zIozPvSgAEXoPt3gGu7J24j9GGb6PWjgIQn\n0NRJ0SNgD+bKWHRLeCEZe496/1qFKwvS3ytegSp4oZfwCFOkaTDeIGDlMiDB\nvlI6pngTY/1fmxiuXElwaqx7TC2fC2IP1KUkjr0n4bUi2R4U2dP3iBg6+Px0\nBGNEqS/2VNJ0LoHHYvTTO3Gw/NRPNXDGaPz0ze7QYvyT5fhmDTtrhgTBwiCI\n2adVKp99y02ZcUBJPaJ+KqiJAOvZrAwplzWgBNWIAJgz6kApI8Ooh+9ubsjP\nbjSYibwA8plOw0Tg250HjLa1WpQfEhapdWlZNRd+4fKj8pMnYuFubR4xym44\nOpYotjo/Jsna1qSv67MSgEYuzf9Sqf/6knFSgRm4+3ZT5/zRjrVgGzEBvJWH\nrzT4YcvQBm8h08bDC+9AKYN57yYNGF+j1rIjZNF5MHkCJuLauwQ9NzjsQd0K\nzuYd43Nw4nk0IkM2tVTEWysFRvfet/fWvzfy+lc7Biwtff5na1E4/z73aSJ/\n/0UGKJs2U8T7HVi3XN7LJDuviX9dQ7OvF3k58/xVqgOI2R/sIL1fwgB34gAd\nu73tBNmN4VkDofXPaI4m1HsCuEtwz5TuRkZfwcATMd6MjPm2DQbXvkn6SYHN\nPNwc\r\n=JON+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvQdQBh9LoRzhN2RhRAI4QN1YCbW6tqTsgA9uuQiWX/AIgTxa0z95t6RMkc3mJg8ftSaoMbogo/pjb5UFe/xMizic="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.1.0-rc.c4ab243_1597796615292_0.3250864996861518"},"_hasShrinkwrap":false},"0.0.0-8c4af0e":{"name":"formio-sfds","version":"0.0.0-8c4af0e","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"d784411c4ed59adbc174030fd828d4205fe99f0e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8c4af0e","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-fGdnPrNGQ5+D8JA2WY6hJ5N+p4851ZHjr8+ts6+5CQWprCdX8sgvnBicbT05JphjGxkWTT6u1M0RRqZ+CHV7QA==","shasum":"dd92cef49ea5e4c407fdd64542a046f5942e1456","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8c4af0e.tgz","fileCount":218,"unpackedSize":722132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPZK6CRA9TVsSAnZWagAAiH0P/0Gt9kV/auxFYoeIt9f8\nWYZxMiREI8uhyTqS23k71ETH+iC7GuLx2likEeAaYYxyt25Mm8VG4yexLzcf\nbjpexneixOL0hlIM2HQ5VpGzPjAJmvrncgvjx4KH8cLBLYf28sibOW1g3eyz\nPdIIQkODY8V92INoTkxsqnQD0nXSjpSHkdtPmAp9yzpb7LNlfme2kPTY3nkB\n2vO1EE1dG77mCRPbQvURqXrxNP+YBzVXMqq65tmx/pD9Z2zRmDrdbGdvYU0J\nYkL2d9O1yUvbD/FhuuyfTIWXXlLxKP+w0T3XqhL58yKYI+8x7B2kCYdqPY5M\ns2TmpojpdJns6oZgjKEgSOx0UJo2tOGA+N9P9j3z0xD3GqVBI4AgmkNA/osC\nR9ZcEtw26bp2BKyY82qSvDuHGcLLH5IYEg36knlsBC6c7fVNqCaVu8uWgfEm\nanivrkqlIZPq8n4jl5AOfaxjI8P0HaaenTq6rHH13Dw612h+ZrJcau4upyuU\no8Ux903no0XFl6VzfXLLsYp5j7lxjnkNeoUZxlG2qhf/06pO35xQbaJGcZHl\nMv7L854yJwuo0SkANTIJYBhfrGNSl3dNoNyrphQHmkMSdSzWDm2dnZ6t9Yij\nXLc+Uh1YGvGWiL1HVc+W1r2DCI0C1oh2+7bG4JOGLySsEu26d/2HoriGg6nm\nHGR2\r\n=qTXp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQ8/NXk80HDSfSeW9y1fP0KhF1G2hXHHIyB+OjX0w/dQIhALHjphQxCNen0bPeI2rBGPFJWL+xGuxaC5z2pki3h9hD"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8c4af0e_1597870778214_0.09035118695718292"},"_hasShrinkwrap":false},"0.0.0-4cdb13b":{"name":"formio-sfds","version":"0.0.0-4cdb13b","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"02b3fd5ed28e87570c1e5e315f9663d27aa49ac0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4cdb13b","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-FoWOLiJqwPgcPyV5MnzVlilhxOsrUPRiecyIA/1Im/1mdE+W1sPNi+WjbB4ledkPp/LHrj5SBvYXLCE6ccOhAA==","shasum":"5704c1d397d742f79acac880a13a87e84055f7c6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4cdb13b.tgz","fileCount":218,"unpackedSize":725236,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPZ2pCRA9TVsSAnZWagAASGMP/1sxI1vAV36h/eRgN32I\nhFrJpEeWmGsOX+XlFWvm8MIFh4wo34QoFj3P9CEc4iNHRhni5OXQ0IHAsJ+q\nzkF/et2ImXBeZwR0CXmSAt/jiF011ZGHoir7lrXklRP///aFqqpmo8tvIpbl\n0gTvIO/puTlYUwgV/AmKZuHRTQDe/O0uvj6YoVnxpqoLUOQL/3qtdezBQuvN\nz98EWNUr4wB2FoyMsOA0JnmLbLfe6QGLJCtcI58CwuV2G4ozzDduq1zX/Uax\nd+wGA9h3RS62zmwqGp1qT86KmBvtKPbzjhrvpU6R+6VQLTMll+CLONUppyvE\n7l4dh/+Y2sBsBjbR8HgOWZPIuV2g6mvKBQRLjYpYJfxSaFsCidOrffqZJRhZ\n+m6KwOehzybv7xo/8YX300iCRcN5Jhk636YgxYsWE05ABgqF4yX3QYIGJoKl\nsfzTFkGbVNfVHvl79kot+plB5gKiKfbqMnlv6cCOy1g1G1sB7zizXORrHcBZ\n6NmvyiW5Ecxb7GbH4d9hXmZWZLLOwOmLcYtZOEmIl1EGQITKiv6//9RTYUdd\nxhSm2uZVd0ttwxTr/2YgmVVGu2thdz46vi4zmyHwGrCgbMPVJLoAF5X2GnpI\nlIMOrSd0p8gsnbmFf0yyLr6OEw8SZm7rQZHa7/EqUft79txyLX2AlZy8wCma\n41eF\r\n=ePu/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHFDQ95GX039Rr298zcaMWiP2Ss/3UDvCzWheayHXq7UAiACPlrEZN//hrmnQ2jpLemclXUgOqwKRiz0PrUSFJUr1Q=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4cdb13b_1597873576555_0.3180125198078456"},"_hasShrinkwrap":false},"0.0.0-41300ce":{"name":"formio-sfds","version":"0.0.0-41300ce","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"15c2060e97171d12bba51dcdd1e79b245b84d2e6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-41300ce","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-qS/h44uwVrqSQda9MXt2T4Pe5mbdm/cYj5zKiSkFb2ly5jhgWSb8k9sNxtztj6vsFMJUFjsybSTQrKQlzGz9Dg==","shasum":"5eb3761357357086f7d989208e0856c4ce0d6442","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-41300ce.tgz","fileCount":240,"unpackedSize":754845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPsbOCRA9TVsSAnZWagAAm7IP/1mwRTvmr4xfdVzQ8kRq\nE9TN6XPjVOrqYyf7jgXXtWReBExkPQV3mIYR2cjD0LZMnPVdwz4Ri8+076wn\nXfDNxcYyqmVVmPiE49vcvpJZAblv9JAoTvYAXHwmkDodLcirm87/UxIEjrX/\nYjWiRKFZjmZRvc7wEDr4kV/fSXnErri7lMTFiQ6Po/O2rzGNzb2zS6Re3SiD\nZjHTrRX6U58352+PbY5F3RwXbgAf0CuKUFPWpHCmRhN2FiIr+sLkJZlIksjT\nkz9OQDaf+lZ+v1fjMKG941ZPq24nbP7tVOMB41yQ1uTFIkbdYVn/DYTzXDZC\nXvdfIfG6NqaFCTSuuCnZZqiuoaE5PrHdC0CxYx03/7YOYjgiI/ypm5Aa6rQ0\nt7K8BItBc7IlCnEthWG8FO0xwObVniGFEUqfJZEHYNwb0KDQEdXCvFd/Xv+b\nS6+PXUzkJVcOCcmVFKPOyBOGGWcTIKnNlo+vOD6KANzFPT8eJA7TnLQf12Mi\nX5YkDcV5lKouKo6ya/pr0ExoupWKzHKtsAlhYSnWu83L2KB893WPb23br39k\nPsxrTOWYHNnGu54WV3BoZgH1Z5l+6YYTIuKFj+4wH1ywoNTklzxfl71pxeeY\nZbKcqCY1gz9FftD3bY9EBc53xJhkKc57NXHRIlBOBqCN/Kyj5IDEYU7JN9iI\n9Vi6\r\n=tqvW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDG88ge3EVipeDz9KOZ3bO+olQbrV0DnKRx2YFaBb3y+QIgK9y+emjfOC05yex/FWzvdkQ5hoSGShpYA0uasEW7D1Y="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-41300ce_1597949646425_0.6094774685876541"},"_hasShrinkwrap":false},"0.0.0-73a1f91":{"name":"formio-sfds","version":"0.0.0-73a1f91","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"fb722695c35d59585046fc8fbb7c4fb69357cb89","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-73a1f91","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-SIJmSZOHaG58jXjiud+BzWcZsFiX7dbc4pQNzgpoeDnYux6/L9/FFuPxsTD0/mlNgwv0DbTbznmrO7Nacf3ddg==","shasum":"c2ecbcc21a8f6d8ed87df78359402e2a57bc7049","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-73a1f91.tgz","fileCount":240,"unpackedSize":754819,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPselCRA9TVsSAnZWagAA8ooQAIBj+BhwmPbD1/MUwKCW\nqVYss9BTZ+0e5YkRncwXcb2A7ACn+M5JTX3rycCXoA4eiogI6QOoPtdbKlwv\nQwXYjGsvyQF2ZhLbQs+kPndc+3AYWs7V3ZGMHncqml9V/OVtEjU8zpMtqoyn\n9NEZcqxrmqtV2AvyACupmczlDqz8YgLvm3zH8Fm48qxwauMQ0FOBYP2CrV/F\nh/zgHIlUnTM0z3qXH+nLHdpT1x6OAuYQalBhm88yDjuIB4RWWSv+9sGm19bq\ny9OCLXDDlPtSHK2WUebkGbQrZE75IWglfVVQvW4IYmpGcOx/j2thefetNd+Z\nLv7On1A4flSpJiKsdHzkEzGF3r4EgyGu+kYxtjt7o/XTWvg/mze3ij9b2qOM\nReh+3Ysg56mu4inpYxI9c17nCGfwQC7r4HsyLkUVWKF769/uYquzZFC05Erc\nlJNxvgn1rFd6+7az8eyY571Aw/HHr1UC9xGd0ZJwPedbNh+5XKalo6/XxR0b\nkhKNSjQQ31DqGcgZrrHivr1dDNTjEb2JDb5aZ545a0yjo9qmBnqBXH+9Sa1s\nF/iJ3fl/9M1GZlJc8XFCjIuQTll7IL0wwgZA7AS7K6r8QIOJlOnzc58m6LOI\neVCFp5ycT32FaDHjkmVH9q8UjHCYm0YDn+22RjSH3TIHcs0hrOQZvtzKgmGg\nGg5Y\r\n=lL1C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDVK+oO3SohjvvheqpsyweVL/l2tISG3qqo/r0FFNHBcAiAw2yttVWbHY12FdjenopToX39C67eQ6gVbc7JNtIS4vw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-73a1f91_1597949860635_0.10904488815000679"},"_hasShrinkwrap":false},"0.0.0-0412d9b":{"name":"formio-sfds","version":"0.0.0-0412d9b","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"938e7e5ad46119fe7fbd8ecd67eeae716e8dbf04","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0412d9b","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-KjSRiLJu0XLKpPhP0GkhB37cK4zq55buyjoV+OrW0y2SjGer5z2oUY9b/ERLkHoCRi2VJl6PPhjJo8GdJ6cOtw==","shasum":"bdee7f8a56777190981e1f6b7b89ad65578ade13","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0412d9b.tgz","fileCount":240,"unpackedSize":754221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPubLCRA9TVsSAnZWagAASkUP/i901cmjTgwo3Q1m6BLJ\nAVxg9tojZ1LJ3Fdd20U6nthv4HONg3AIVzMyNmjyfSTCi2cqtZoRxE8QJDSI\nLqXNq+nOuDMvw6TKZvP8JnNZ4404/eJgBahV0SVAczZqz7ixbicOQPn9K4/4\n4alfpeVpZllqbEPGiyABR/FnvGgXSZV2apHJTYsRjgmOmsZsCRGw6t2ltGrL\nPbK6hbrBgmDvH8cW4J3i2DULa9tRxrGfAZz30L2Yy7aFJ0uCMA722LceSlTm\nHius28HR1uOZMjoHONC1BOi48npB6ph858UEimv7YRCfcyqDGSdtIieXLwCV\nUNTCx6G/wvSQho3EY6eJJd6NTtavskO3Jk0/6FWdDfY1slzJhF9kwo6BmFio\n8VDv/Dbjw7Jyh7LzeyG/uUCaDMmo9zVp2+12adf4dgSSd6JIYuOekVbf4+PL\nN0CoFI0H4JB29Oty+LFLjHMRYAI5vEMxJvOpjFacsypIQFVOqyA9jGILCfrE\njYepsytMHaSiPCViNZZvqJOEeCKuSNSSsmmRGPKVpMVk6XQru0XTEUsWSq/r\nu13+OrY96f9rQYnxEXOajkdCAHnfJgpUFTNHwhXAFqPFAW0j3X9TQ0HHoq4s\nPs8knclcsG29RMpCkcAQwnqEGW+QwFrgqDCOafrLuR2a5fPqxEu2pgbRqr33\nt3Uo\r\n=LsH+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICW1CJYa0E3bYJ4fpyRLyjRgqLGjFRog3PpxyGIqF31AAiEAo1lfg2KCFusup8gP9c7nuH32XDdmc7Jam98QkxwmBkc="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0412d9b_1597957834629_0.14350630732615333"},"_hasShrinkwrap":false},"0.0.0-9c7a70c":{"name":"formio-sfds","version":"0.0.0-9c7a70c","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"62267b718b7852d1b93ba0fad919366945cd20bb","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9c7a70c","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-9WyKaGKf/Pen15Ezfguq/OPq/GIvBedwMuEd+QvhsImpVwWyhN9wISgFWhrrBzR7lJq2rqKVGqZQC5AjjrJyew==","shasum":"1422bec36352e18052212f140ad9ed38ce7b6751","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9c7a70c.tgz","fileCount":236,"unpackedSize":731394,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPueQCRA9TVsSAnZWagAAtTMP/33FZNJiT7MICZa9cUOt\nU3MsejXt6L3yk9/Gpp6SJray6Shu0Rt5S4xwTW7UDQYv9tdwgllqB1xWy5It\nmesAF6ISPkVQWt0rembogJLxGt3DTzwrr0MPyiYtAJG7qEU3gcaU1wopsr21\nqAMiJWE3d6uPOokjWHejM9v1JYFPpO0w5KwvxP5BWQBdFuXe+QKonhGbqeHa\n4+R8mUvuWmHyaJyC+djGD3/JlpGEZA0iTl7XNPpBg/celxpwqgMdkyw9R23+\n8rAHrk9+We17TOqI6ShxRkrsW0isD9GymhHwBMSnsK2xn2JkELYElLf7CNCg\nvvUnDEik40RpJ83lYZUWLgej8Psm8SSqp0OiMM5MXchuYYeuZjptkaO/jjke\n25A7jOrhH8rH527SfDElnyIuK1PP7SUyxtMWkwxuKBjeJV5bypodeXErz7zj\nQqXOpgvKTubU63cW2fitIyN81qP4lPOFdHrgEZcZkCPW6jvHESjBhluCvKwt\nWFTTyQcwU4JrsU7SAzfcSj1zBCsrtnl2mcad0qRieoQQSHpfzZuWLWymAa4W\nE/CtukRfX9wM2Dkf5v/Y831Zy20Z1AdtQmrkQ9sMNpOplGQN6fmFsuGPmbFF\nKrfLWPP7scFhvtXfn0AbpL/NR6uIHbszLXBbNs+1sudrh2lHTDMnI9l5CzpK\nxBLB\r\n=EQRO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbRM3JQU5x1/VFLref2I6AgeXOC+6JoeDrmpjCvRl2QgIgMpyohR+g0OwSnraIKMOCKsaxUO+jgVGEVUdtfITUlCg="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9c7a70c_1597958031733_0.867280737404051"},"_hasShrinkwrap":false},"0.0.0-7cba02d":{"name":"formio-sfds","version":"0.0.0-7cba02d","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"1be0a81b4f31595e632e32fa4e1ae50f60e556bf","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7cba02d","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-TdwfrWj+mGpdhmx/AWC7UJDgNe8yKtxdJu8IB0eIG12VS9gLw32t4jf1BsVwQyLbUF+lvPhP2lf7KdB/IIVSEw==","shasum":"2c7e5b3650963a3e4cf1f80effc930409d508f76","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7cba02d.tgz","fileCount":238,"unpackedSize":755661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPwAUCRA9TVsSAnZWagAAieYP/0458ixsg/O3gV1UuuMJ\nMJErMLCCoQGyNSarDbL7GtxZNZE/I2K+b1OGOpY2T0C7Tkl+Kn+2kTOWAgez\nzBFAoz60ACShrIyTqz3zObxypkWih+LhJs2g+nDAfM7ntXQK1rTKpNnGiB32\nFDbCqnogBS8jLZnMfwvcxu+3LKA7sqKblOK87JnkPOGKfAjXhpRmt14x6bX8\n2bkw2Jy9h8aX3WO7OUU7tkuaX7/ZDnKiBPK9P9ZLSMAQOp4TaC9TvQx8ejP/\nYHne7JyZke1gx+xwLH7JBjhE9eElxzT6Z4/c/9ahaNjFeDK95QjElRJUX8ER\nA3kuoRbeBJ0q/kLC1VW4hJNbDAZXHzTiHgh5TWJkFDFwBV5k/31XUGYEVuP+\nZEj2dmG2kyY80oAJ9rjpAMhAxzEfkfm8ZMx0Zd3tQaRprBed8fd/HRbbYBmO\nSakLL7LKrRiWFpz0SIRrOLs4szQmnZf7PnAaVRQ0B+FDpzg1k9rcSVu2/v1m\n4D/FMH51kuUNXVOz/3+qzmbKOWvvtHr0l36wuwH9wTxGJurZZZAc64zrJ1Eb\nhK9NxHDxANUllpGJRsODkAXXvHOW05oSpxR5DmHLvkJxpFUL0tR1/Y17yo6v\nvUjkec8rvl/JB74cCD9o26lcNrh6uCbpzqCtu5wsvJpSqpdFDTCsgOEE2QfD\nATCR\r\n=o+NL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHaaL9x0Z2n6BWnsZ6QM6LZcA2b6h5eOy0qdQGmvP66cAiBOznctl4oG9hdjl+kxu6oCdTuwCdf+/DOsldVZXkpJQA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7cba02d_1597964307546_0.8963851137825098"},"_hasShrinkwrap":false},"0.0.0-e44b8ea":{"name":"formio-sfds","version":"0.0.0-e44b8ea","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"40f88e06ac5d32ee72ba6d8997b3b0ee85b729ed","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e44b8ea","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-6aNcer98NNN4pMA92pgDEc9lytz6/r55xPiRaN6RDesjl3QRiJUocZf3k4DEwG6VwWNN4qoxLaPzgsWcIyd1RA==","shasum":"38315dbd26f834d0844f66a49b590f9bf9929b38","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e44b8ea.tgz","fileCount":238,"unpackedSize":756523,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPwMvCRA9TVsSAnZWagAANNkP/07BprZDEdKNFyXfPyaQ\np5xGRKMJUfp20YCFEceYh3axZIG1LuU5unQa0m7BPiyciaBSgkvo4LAUJ14E\nJKv2GX1hRjuBUkfrDYXa7NI0wxRRiAKOrPkzYVCzF2ZdrQJ/VzA4TWxz++OD\nArVawZpnjQNTexGoDQp2IctRSowh3dEJpEdhEnQYvzPso7USKh/OiBwV1bcb\nVU4nHq2nb2RMPq3OrQEhG4To2MYjUzCFoDsQFAnhzoXgUxTbx6d6TshwHZCY\nOhyz7eLvLKZqeZarPKHtzn/5G3EB3FvhsTaFloGDMD4V40Z3nBC8kxihnGQH\ndAT/pCq8XDOL5I02kZ7gE5YwpRxFuA1z5Dcjuaf/21YnOiQB2X/CNJowZa4o\nq9VB8CJ+EuAsoU5DAf2krpBdeMdMEx1d1aus1geA6/5ofkl7zCPm11iyivd2\nrArw5/SlKZmU/2BUK+jBUOr9FaQxq1dTbfPnfNDSl9ZWvsVd3+p9kvL3dMZi\n/2lOhT1NoFzeEOk8rBw+hfoDAGkCnHtD0RQc8a5E/E8mWezTELnONAkubveO\nywMjpzyMu+ghrTh2fK7X3By6WaWN2+Qv/iKurE+dxEUfzeJqQ4oVZtcUAY/N\ng0AaiU9wNM+dXmqo2rLSBmIeiBYN7pB/2MQ1yPgD03cOuMsPMohldeOzeAD/\nre2c\r\n=4JPv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsUJRe9zalGj+9mbuFlZxBM5KLE9s9UsLcrzzl4JRTnQIgS3S+1qJ+rxWA/iOzrJqHuoJlB1gCPb8UG3t8MFWO9Ns="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e44b8ea_1597965103333_0.05600477100333401"},"_hasShrinkwrap":false},"6.1.0-rc.5fc752d":{"name":"formio-sfds","version":"6.1.0-rc.5fc752d","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"badccf1b87467b4e81bfa4a4a9f0f2648a643ff3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.1.0-rc.5fc752d","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-SmvHzeu72QDF75Bjq3c9BHr3VpDUIB6aXBIAkxxsV80bPfS4OWRMrv3079AMM5WS6nAsVbBvL0MXhUJmvb+7LA==","shasum":"9f90d6c1073b2a67a1bfc2d45939bc02d282d74a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.1.0-rc.5fc752d.tgz","fileCount":238,"unpackedSize":756526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQEIBCRA9TVsSAnZWagAA9gEP/jj/3hYsEhK40Ye5yzoG\nccwvNPn3eK06txjVywAXNqLlV8iq9A+FR9q7GW+0XrcEM9SnKFUgtAuQZAy/\nkFjEMEkFApcAOFkOfw3A2Undeh5PSp5zh1WSZQC1rlhtVBzRpzaD3fKxVpf4\n/XbDeZH427Tf7uj9mWQD3Sfl0RvByzQru7TXYKkZ8g22x3T8z/aQtSqVmtQv\nlb16C+6dSy2JY/yRqxHj39BdFoB4wGQsCYRPCvmPZsy7FVCtwObRxkJeqG/q\nsHwqKTJz2we0AWlYucS1YsJYAC9ekXEy9Gi39Sjh6VFTVFIMGljxsDMMWACu\ni4U3mcB038XEAwu8pcD59//elBozn/cVDfXiues3/L9RRZb75fXo5Hn3vIq/\n4f4W4OndC39HNw4XFf5+wqYsdRQeR99ytUf5f17Ms7KkxZoKJAsARbYQ6NeS\nLBSTQIK75oXZGwLOAJGTl5aN2FXSvSfMr3lsnQNxZgp3UbNv2HIQEnRONidU\nqj+qMbeb7S3fPCUPQbDrCPw2/laNCtaRnOXW/v9eMMKSqGxf76AMfrVQu9Y1\nlEMrYYUslsOEc7nM7yNtooSVEkorbsTuIHTxglTnIlLKekYY0yFURw5H6kSP\nHtjXdjFz0pVdH9R6fqNVutV84LRBh4YTOPx1bLF4rg9fAZQ9jiOpBkvnlRd/\n/doS\r\n=Gjnk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDbHoFV2qoNhtgk2gdZcRuj81XKXhTYBKBNV2NbLQWlKAiBS+W02xoFSRqbyS+fW6/a1V/xwag9NO7HRsSRUKY8mjw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.1.0-rc.5fc752d_1598046720815_0.5813907441339454"},"_hasShrinkwrap":false},"0.0.0-0ca6181":{"name":"formio-sfds","version":"0.0.0-0ca6181","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"c32d792ed67fb635eeb7a11aa6b7d428282e78c7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0ca6181","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-FbNbBSsSXdnLpqqMujiHzKnM2QgCqvMvATW900hvG4eAOJ1GvKiRToXL5ELHY1IlO2SurpBmEt+LFPntACBZRg==","shasum":"791d22fd4901fcb93c85cd0fb1d7cc2a4eb30818","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0ca6181.tgz","fileCount":244,"unpackedSize":782954,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQEJ1CRA9TVsSAnZWagAAWjwP/2QQN16NG3u+Et7+zPEp\nExIU5NBnq8Zji1VhYN+JDIjw2f+8XvPGB7VZaaOs2sBVGjbu+eO+1WIg+xmx\nS4oMLOErEcfvEpFsLcQmtQbLpjOd69CeFQko1lLJ3veqymLTK/miKcdhTqoF\n76qcxorffdJXZk/Iq86vvl1dPpWE6yhlkJbJAg7Lcy0bBhrs8GHshoWvEAu/\nBlV6+uqe2BJSNhQ340iVvxWJdh5if9YsncwNjU6v3D4BtaFCPkTctNMSE4da\n057B5i6l/mhjufPjNrpql5mYCaPe4p+oKpt9NDMxyRScfwYYAcba/GMGqv61\n48GK4FCoH9tS1iv4EikHF1f8Nwk1ZDvzD2jAV9OuOLvvYDj7caAz++jybfDR\nuFIWXUZssaXvWS6wc0uJ5yXMYuTynSJfqS9pbKxvVZ8prC8FMTPlErPWOb/t\nDkPQmW3Ocjcur7toFHhI+ZxJCj0DUD28eBNPCnqL8ysL8u0JIrvghGIEvvix\nQUJOvZiw8YRaX8OpY+nIDo+DOPd0uvkpdBn6+1pGD3cGTTIM2O6MNOPWG2YJ\nV57Rk9Thutl1SgnM4P11WB70EFj7jTbk6Uwbl3eZCDa05bTbkwA+CGat86On\nSrDgbmRoXZCd0+CCzf1+0a3U6vCKZN7Q3K1siVbN8M9XbKnvHauWq/n7cm3A\nrhiX\r\n=nZOw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEXBkUyeK/iA8k2KEed0Wl/XYcdidBfDvqezVmEMAPtbAiB3HfheOhrWqGA4LOFtWcdFX9d+81bz+vYHdVWvekPWKg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0ca6181_1598046837008_0.4580519139438304"},"_hasShrinkwrap":false},"6.1.0-rc.a3fcccd":{"name":"formio-sfds","version":"6.1.0-rc.a3fcccd","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"38876107bf1bacce8266697b9547db0ee032ca82","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.1.0-rc.a3fcccd","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-milj6y0GHTJhbrD0kkJwzVowkqq0LJmumMCi1SAFJZa/Msx1A3twdp9nn3EHGJWrOFyeS2gwyTfuXj5HkaI5yg==","shasum":"ffa200d4c6dbf0141f347650ce2164451b03878c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.1.0-rc.a3fcccd.tgz","fileCount":244,"unpackedSize":782957,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQEM+CRA9TVsSAnZWagAA8wIP/0UKE9bG7kZKga6cPXp7\nNEjQLXR+jSdxi9Jflp4giQBbec9hj29VEJV4PrD1WPVQNOCoPdos2F+r8v0J\n3oMgvpWb+S5hJZQniKMhIXIiqRFLqACNeGGVfti5T5dJn7f2vfduiYMo3pl0\nUKfzXIGBNKKUNdTGMwyvsCa+uQP2tzgfrSMnjJXhgR2SfA65ChV+Cqht3/np\nkwfTORvyI7OS4k7kM80yHx5O8LSW7Uia2rmC5Q2pXJoj7x9Q2hiFQi6PzVne\n0Cmk2Bt4/MONZKloFlxWWk/lRL9D1SSdbhMOZg177s850BtTT/5j8vDg0daK\n9afU/KXrnQjZnNTIMbwuabhgwJ/lU/3pFWqEaYtS+YeuqUaZEqJTVl/SKQta\n4aaOjY3VCnpgh++nXg5ayNegCK8NjwPdCSTnVtvPQWfHUlmWFHKtz4xBj5to\nusRT5zd8/GcNCze2vJe8WxZhU6kPanaf+2E+DH6U0XTRzpfz7q4HFBS5dd/N\nTcSyT4B4mMmFPaqiITmixJ8tTNcdDF3P1ScUF/+p8K/T9eAUpPx1SiGWZuAR\nXH7cwQtnbgYRGcf0pXEFyoE9t6lNl8fqMewadDlkdR+tW7eVgs4U48yzKzvH\njvrywQnb9EdJdiQ/SoIRzIOyz98pa820BlY0EIFvJXB8j1H7wpj5GaRCMX67\nsier\r\n=/guQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDb3t2pyWL4DDcWiSwkywSK+VEIqzBl2nzgFpj1kIliUAIhAKQfg1bdRm97yfX2TkSHf5VgPAmnMlmYdmB/G3l9Fb6Q"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.1.0-rc.a3fcccd_1598047037796_0.7342243078985251"},"_hasShrinkwrap":false},"6.1.0-rc.d5f2af2":{"name":"formio-sfds","version":"6.1.0-rc.d5f2af2","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"2fd094f74cec5562fe8991e36338a003d087c9d0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.1.0-rc.d5f2af2","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-6M6jEachfLHq8s99Qe+7JwoICR0fz8YX8qkEnlTflflgq5vjawStt9TeJ6sDz/3YtWj3wiLa8Ju0bimmaAmCgw==","shasum":"524be8664591715abbed4cb9ad87c7d01c107d49","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.1.0-rc.d5f2af2.tgz","fileCount":244,"unpackedSize":783585,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQEYhCRA9TVsSAnZWagAAVw8P/34s6vSjlkDBXOjS/WCQ\nLA7PgEiuBazmisbxL9eeEI7s2XuXL8iNjHHt8/5+7CiykYqcGUwmZsmY9ZE6\n3B+1uSPvzozZFXG/dRhW2N3+U8YOgUL+Si7xGhL/lggK3uuPCSkTJmuXs5T3\nOrYwnJ9kNHwP4yl5mLSjBECzAnmqPm1kdQrxeaEH7exQK44vjlTwxxxtINty\n4chU2aCxsI9dOFgWSGiFgAf9SQOy1RvSC8I2LLQl1VTuIXh8tXFeKFx18CY0\nkdEhQFYCuaGDZeDQ3lEIuw9rIAiZNbtKPhPkuBnzdZVb4aT1cAErHPqg0+Al\nb+o7ztXH4pk03nG14PctsQvlHY/eaMlQEHK3VojboaO5LS1yGWLid7qSWz4+\nWGRnuyMFkihpyEV8hhRv8YkK3gg/f/gQi4SNfsWp2txBZ+SWyzLf9uDSbHDk\nGu1bknZbJfJg+st53BUqPGtIUmp9FmE9y5knk3dkG1yoPg2dHyyTkAOOqes0\nakLgksrOnJDnSxudsK4HbqHjUhFQ7broesGVuxMBPQHN0OCpY+mueS0uvFTj\nJGuFxwRMpAlT2aoz7L1Xco5d4axNMDuJAwirDJL84wr+l3HnKqN+OXzC1JBu\n8rr8Xs+I8v/c7miEwzEufz9r9XrOLtSh2SiAl3rw0HyR+JQY6BSHBFiAU/Ac\nW6JW\r\n=yNlX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICYJiXXWXSR8szuVto51D+bYDm7Evc8F6ovAeZArcM6TAiEAvZ/Wd9dH6gs0wTrgIbluDqt9QRGvRPBX7/UtX2j/U0E="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.1.0-rc.d5f2af2_1598047776700_0.008182220240660065"},"_hasShrinkwrap":false},"6.1.0-rc.658329d":{"name":"formio-sfds","version":"6.1.0-rc.658329d","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"71b98acdc1ab93a1f478f16db20fa8f3dd4ca0a8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.1.0-rc.658329d","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-eL+MXOiJUist7nkaHhz/OftJPTjQPUqBsC8pkV3KtJ+hQIZSQhTnb76eayjLAJIbyrOjt8nhEVS4u3GQrDt2sg==","shasum":"1908740c1610ed87699a10c30d9ce2aeb1015674","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.1.0-rc.658329d.tgz","fileCount":247,"unpackedSize":805339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQ/OZCRA9TVsSAnZWagAAN4wQAI0Lj4PkPYwRFqiYE1Pp\n2Qb66Tq3rc+B1RFFezujdRcMaDLQadXTwXTOUw4qqBwyiKHshZ7i/koJ8vsv\nhbfQ5j8SVxbnW5QS+OvldPemGsyFx5S3YHcslAKyySWIwrL/hRFLuRTekT7N\nPrLtFd6Bvo8X+mt/Dxff2X0oTaDEOruz9KR+caAVcMbqvgpv8Nn8DWBZ7klC\nCKtU4/Ey4B9AEBlBTJrYUrQCE1PN/gTakwmBSoF0XVoId8ZclpLOpqVcW0PR\nuDy65ws2fYjsdFDvjlPkud6l9QKv4gVffywlOm/hgQwG5oG6jgqag7kgd6gQ\n7z7OEJy2/8nOzQQmBfIVf8LPGLTuO3jrNynLgVKdOUcWBe5OjJrkLdLu6NCO\nePECcGDMltMr1Jr7CIOgcQAYFaaqp7hmPDlQOvU1SZTbcuohdOIVWYpaehKg\nY58oGPZWYzuZPFll+iuW0YzzpVozPAJRH71vFkCzXgA/Jam/R6hcSkQRRVhi\n78FHiYTWPcxrRUaRGivLKo2ufb9jfUepGW7zPsSbGOvdjWTy7ub5tOkhWFpe\n52t68asNlw0yTkut9sZrHcA2RRT19KZdfjFdFYB+WbHLKB/Nfjema6yU73A/\n+VM5h+ImrR9+09Fce5sKTZ64Siy6noivRZRlA5zW0JFiPcB5Vj4hcnRvPKSS\nfdxD\r\n=vhNh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDk3Aa66BeRE6HNdnTsk2O4znW1drI2XLXKtE7Yk1fkEQIgEww1xPy44pYNrcTDskPBEzNklvYiBdLhkdOpzVfEsnY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.1.0-rc.658329d_1598288792799_0.8566677821835547"},"_hasShrinkwrap":false},"6.1.0-rc.915d988":{"name":"formio-sfds","version":"6.1.0-rc.915d988","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"1c661a990dd1caf5685e3f6490d5a4e24d08c892","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.1.0-rc.915d988","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-vffn+nGx0MaEzeCkO+6K+uaGu7qXyk6pcjd1RRpFJ/M/iMR7vRtlKfL3PKji9BMFVedSVuU4BWMuL47PI/VKhg==","shasum":"ba4111ceec87668ee1f46f919de9436c3bb251cc","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.1.0-rc.915d988.tgz","fileCount":247,"unpackedSize":805364,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQ/XyCRA9TVsSAnZWagAAcV0P/0Zpx/hOuq8+a4i3o4Q7\n8krCUmdRfjc0LeA3QC0xQ4m3hPvw68XEi7ctpOOCkFW9DglVY0eSTOCxYX06\nwPBN8HWp6ibKia5sjZcYXcaUZewOmch0Ba62R8hJvr3nZQlZJX4bPpnPO9uj\nxuziMuWue9y9zy+Ybev2XwDVHoqqAIx5sDeuIoXg3VnHqfXuwL51eumo6MWP\n01aipWlMEpBZNdZsBBzNSLk2lkJRl+7L0BlPc5rzg3IW1QEyVa7MDEP6Mu4U\nBsMgqB19qcEWQj2YeyiFJbflojzgR2c0QWh78SJChT1W5fFUkjyKC2K76v/4\nMOmMrX+lcZ7wZOiSW4TmTuZ0hPkfbRBHKhWyYetr+D0jHd2d+wyIq271dD9k\nSfMmAHPeLT6+nx8cm4SPwEm207pGYrmaCHYUrSQdoG5aM6ZPTTLR9Vx2717z\nFmozNBksR9ljKugtGpB9lP9DH0B5MkSMg9BpMh4PgivcUiR6Yzqu+GVQ/NMi\nuc8sYs0N374eLuf20AZ5W/ISOlkTfeQwe3FkPGt7Q/9qRxS2jOl65woYF5xl\nBAEzfvarJkzQAHAm0di6le/I/QpjQuTZXFSCp4Jsx85tb3u6YxTZoE1IVt73\ncUG1hIu6mvpwyE0bA6JJp/AR0NGvfAMA9TMtbZE5kQPGNCxEOa9M1eNCantW\nL4en\r\n=A9WM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFTssmCIhTDZJ4Xc3CUHkSm2udrvcruMbWGA0K9vJ0A1AiEA3d2Z11BgPelzqiyzB+wziYf/h3hMOKQluPK7n4MMIos="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.1.0-rc.915d988_1598289393775_0.2801248667597578"},"_hasShrinkwrap":false},"6.1.0-rc.c4ce6fe":{"name":"formio-sfds","version":"6.1.0-rc.c4ce6fe","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"0482e9d428be6d092133b10a49021ef38b56439d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.1.0-rc.c4ce6fe","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-iEHnv/ww3zS5TomfpBrxm2KIwlCEFd2aDSYfkz7UwV9IJ22RZIiPdgHH9OTosreQDoQ5zI3XjI+iYMDFmqRSzQ==","shasum":"20cbc3de79e1d6306d25fe7d8727642ec035d265","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.1.0-rc.c4ce6fe.tgz","fileCount":248,"unpackedSize":809106,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQ/djCRA9TVsSAnZWagAAH9QP/RpscWcHAoUxguq2uG17\nz7bM6mtIFXi1rl9jzwDl7e8xGXkBziuRkHOkZtAgygr+kkGOdPX6dqi7nGao\nGkqtyyuqTNg71cQY9WBtU1PttMW22HSp2MDoQuEJro0tGLzv7QpF5s5WDpxP\n6RMx+oKx0+lzcOrzPQAb2Cx2kYeyTzTiMRBn3GFoEBOGVqnfYcBfCIGl7DWo\n0Zg2HYnhsJYKCLDxVgb7hj3fOAZ7hKsbLwy7V55nP3DZMxObBCCWb4pGANp5\nMLjQUij18w/OcnObhilAhMnuNZuNVZfveF1YvXiaX9+Cm3HmMpuqYB6roloX\n8MT/qfWL2rYYH+EwG6fDwEaK/Yz/B919D8CvbrpUVqaJp6LZZNcE3RP4PFzm\naZ3DWrKaAXNgXL7GxE8Ec+SQ3+DkfcyHE83MToOoJDGxVZiW3qklZYsH0aQk\niKwnkA2CaKf5NK+bU5PiWiqaE2WaUzftkiuXvdfigw2K/wlXm0aUAuDwwyZS\ndO7/IuhN1cP6w5gZ9/AL4KCrZrThT07eEZGp7AhqDy4C3wJnV6ByCDv7tPe7\nAtKvUhMObMTOpzqB1Pjt/T9uHnZtnGLWKyH75cd5r5WJhXhMB40MNCjYOpcg\nZGN7YY1IZLj+QFe7IHwdf5NBlhWSpb8nw1a5vmD+ylMx+GzByUA9lCzZoaV9\n6tUD\r\n=03mT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE+hXaIsQALaKye7W68YljCysc5xddz+vOnfu6iNR4vlAiEAxrG6B42JoTuHayXBLNZHxhCjBvZh12kM5GxAEaAyeEA="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.1.0-rc.c4ce6fe_1598289762742_0.9199805265482499"},"_hasShrinkwrap":false},"6.1.0-rc.2b820c3":{"name":"formio-sfds","version":"6.1.0-rc.2b820c3","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"e49607ba48d553b30d088f1e2ed6a4754bba86fc","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.1.0-rc.2b820c3","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-PYyiH34jHVs/+XV89sPtU84BooMW8yubuJmx/87NeiacId7C+vy6dRai/7G5IQ0CvwR1/39BgKYfXHbsK9lzHQ==","shasum":"020dea585f4bb342d5b2ae0e2f26aa7207f44384","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.1.0-rc.2b820c3.tgz","fileCount":248,"unpackedSize":811184,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQ/fNCRA9TVsSAnZWagAA+LYP/igtkigZrD//lLWREGSn\nVDY0BmzhlFH4j+gpSU84yRq4TTUv4ymPErcrJJQ6siEIiM6ANWnW6eHhYluj\nRod6eER2ZzzlCdPijZ4cR8VXGvTwr3XcC/uFo0EcAcmJB6o2CV5eZDHq14EQ\nljvJ59PqVVdE8+X9JFD3b1MUi6lU6sQZwYt9t1KGKlnKZELfnw6OugvDwTQe\nRciQZMtWPG9swcgfqqzLYelJ9MnTaEuvzGthaVxIF9RqfDBvGRtw6DEyPISf\nFNU2Rc2RtK69pPfmOMmYkGOtSzirgGLtmhFJlG2o25BJIMcXOs0spXxfJUXh\nXhKMvSXQiZdctVxFvyj7k3vjrQ/Zn6fk8E7eJZzpkHKn5J4VvYEmD8YPf1C1\ncY3m8daw9WBs8VbzjIezE+10K/j43BT/c077+tWol2CzmgAwQDHuE9xiAr7n\n3dX/8qtJlKe2sC9Kd/7z5XCi04T13tY7Lm/zjcE5zrK9rbPKNQo4EP61MZuX\nVDbkT++ppLIZYD8EEVLPYJ1hoR95EBRofaUvi7zTU5B/X1ecb6OoxRKETerC\nyfK82vS2LbImDO/1Qe6x99kyAihsHM9Bhzvfj9WT0aVuZ4/4jF46qCm531fb\nl0Qm/3EcQ7kJBn/OYfRmHmesR7AXQekZQ5sfYM1Z0pOfHtcVXaHzSxv2h0Dp\nCb1M\r\n=dlen\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIElPWL/k/bxipPYHyTHnOdJ5V1sEbz75OdvHR6YqHguOAiAGlLSgb3uXb/+ufabOrEWm6INBNEBPnyxdJ22o+9kyYQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.1.0-rc.2b820c3_1598289869019_0.8028165848144033"},"_hasShrinkwrap":false},"6.1.0-rc.199ac2f":{"name":"formio-sfds","version":"6.1.0-rc.199ac2f","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"9165a26ab63247d382d9accf150df23fb2e6e42c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.1.0-rc.199ac2f","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-vzVZ5gMJf7NecSn6wIwR1pwhOxkk0UiE8vIzoPKK0oOFem9B6Ih3us5zofxWwnkZ3O+uOC9fsVcuTvo75LdvVg==","shasum":"550c859bd5dc4f19816e80e79a5b535d2f9796cc","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.1.0-rc.199ac2f.tgz","fileCount":248,"unpackedSize":811272,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQ/gFCRA9TVsSAnZWagAAC68P/3qmUH8VLjjtcC8mNmo1\nLBoHuj96pVbPc6h8QA9hsDfINCa0UnzGzD2aoAZwaJqRCZTM0XMQw0C+SA8v\nNDDuNVnR4gsN8iMTp1ohW7xNb9EcpRfOOYN96u6QFAVTkpgyPzLlEKTkdodA\nm6KzIZ6wtvBXS+GzqZbHq5X5cSITTQqEcrI2lTYi5hidbGgmP1dP4/um4hNf\nysdiUupWHe5LCYzOJkteH23wAUNkfacozE21sv+oDC2XmA9bWna+K1xFX08t\ndOe2M4nGn9yrLLFJN12AggEA5dNUiLV6alDJxAHddUfW0X1u62ilPb/d5zKP\nS4eYjZ0Mrz8SEnsfSy09IbHEq3qfv+mM8YFJK0SQqHHRB6RF9hkIsYKqcEm3\nlcGLWt5yZcPIko1wdV1sSqw9YBz96KRDZKA3cYgOFaEmI18SgIeko53MqVjL\nB4ypxNLNhVEB7myA1DGfXUAbc0juGe5mWTT4ibbIllb8KR3P3MTR5eVqz3rL\nWZjd7tPZdnDUzOhXyiwie9ZFHF9odwN0gWhpdER6Yy7Q5ZA4/VYwxYnY+zzo\n8uMPHuBoZZxAfKHp6eO6S0cOYJIgm9gCQufu1rJGmuySI/vMD4H3wM2kHJ+w\n6TAEUb9GxsoBEhAY3Xai63L6f6I3yqdiY18OxQKIjXTCLuEsAxtMUaqrbffB\nYae2\r\n=oeoz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGRfayK+AeOlLCOMowEOZMq6smx+5dsY8ookC9nNBbJdAiAOWHoq/IKU7XLUt9WrTkfYLDX6Q301L8FfGyJvLlVDOg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.1.0-rc.199ac2f_1598289925249_0.5992074958838927"},"_hasShrinkwrap":false},"6.1.0-rc.aef257c":{"name":"formio-sfds","version":"6.1.0-rc.aef257c","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"35e2133d89f186b1d4f27972c86b78eb41e58192","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.1.0-rc.aef257c","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-9um71cGJeUAWwmvXvBZ4LlwhZVmRm6RsM6uQY8pY0v1oGXb+2oVTbv4uLknw9EXhO6nDi5E/VBo4XcuFPm2tUw==","shasum":"55da6cc9d155bbf37e35321debe549b59be764f3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.1.0-rc.aef257c.tgz","fileCount":248,"unpackedSize":811250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRByTCRA9TVsSAnZWagAAUe8P/3FzHDFxhxJNBPBdSWGt\nXD0pYxJ4sYgHPbzFyKv+u2TKPfmbQ6nuL2mLUydIjvQcz0KE/L2AaxuNwoRw\nPziznjjmkvx0cWDW+BBfvpuLI4nVuNhrf8WP6me3/BADDPE2hcZUf/6id2Ig\n0BVGJ7avZe+8nl9T0dytjgJRESI0WVU4QD+gXqHi/r6JO5An4cN5NaqbKdeY\ns3NDuqW9agyBM7SIOPsdg6S4+Ow9eoG674uNmo6ZHDk4YNiKLtZWKNHyeFuo\n6XqPuM8IQNtxyFhWxVHgVGqOJDjTJxTW3m19yvg64O3mm1x8a7pLU7p/PMtR\nCpJJmUyU/o6GgJKg/5Wk6Yb4ggxBa8rHbnndwqjhQ+SG1/BpSo1dvV6PMkJA\n16thebk3OyqO9cOIPNF0NsXfFiuTwfFSZV/nl2YYVoqcR8DLKZnphRq5j6ks\nvLNQuON+0sZbBfBdNUD3liLDEVUtuHxUPYp89qz4CEvAW+XD4G04wy59mh79\n9JACpZw3RjYz0b0CLNTYdNDBLGPTw6ef98zAmocIlyeZgDjherYeGSbbfnGL\nv7AZMkKMIhrH6C7WR3DDmW+kSvEgJNs495Mktwl5nvy7p0tneQGYoWEu218W\nQNcxAOfvNUwnZtBAC/uaK8LFwzdQIFWytDbDavdigVpgZf73EVthBZ9LdYfH\nauQ/\r\n=lKjf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmu7RQZj2CyRqaKn95n3GgtKiG+jR8k69iwBrHvBgBcQIhAJTCJ77SNSzYStCjqjLKy0wI3qERiMziWdbdLb7D2dU2"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.1.0-rc.aef257c_1598299283077_0.053020504740754815"},"_hasShrinkwrap":false},"6.1.0-rc.17a94b1":{"name":"formio-sfds","version":"6.1.0-rc.17a94b1","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"aea27c93e012e7a492c3e54fd472fb8eea681985","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.1.0-rc.17a94b1","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-pq7h93/kH3xj+nRI2y/dBocAj4goWh9o8UFnpGjWLp4zzPu4HB0Y0V54UWfrs9q2ZpFRy+DPgyXCTwEVmljIag==","shasum":"ed7bebec14c090c2a0337212621047ba0402c707","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.1.0-rc.17a94b1.tgz","fileCount":248,"unpackedSize":811504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRB20CRA9TVsSAnZWagAAg5sQAIqyMx3WMp1NCSPxa7xb\nLiAJsFx+96nfHTd+Ze8V7xdTUCngj5SrNk/ja3u3hwwyd/gUsL/1Z2jNdbWH\negq/NiwaK5xgrmR6mBxdDKPb7jJO2UuWqd4wkVM3fctRPzdJEcSca5ohD9Dm\nB1pFcfT9+A2ZVIaMsUSYe6MSy2J+L6T1FhygCdLvq8REBQcf4bfn7d7jZiqg\nZKpFIFDRO4R0m4yqLy1i0CgZVfi37YvQM6dk87dyoJ7nSQkybjjPvd3+5dpL\n76Uuu3q8sAmRQ0Evc0kimTOSGgW5BX0JM45cCPbKq3gBmYFmu1oN5yH84cjV\npdIAre0uoILnWE+YFjAP8CfHVURF4DmPKJRyTJIF7RvI6zaU8r5gEK//mghP\n3WIbcSiewJj/y+gN2djM0MRY+0udY9KydCib6ihYUAkpoXK9sGWQwDspw3KR\nTCrdPR9spfsu9z9FysFbT11qsG9kWzWY+9kysbHiM1QWg7cY+buESvbiTgUB\nTmDDl4P8Z2LRPWyqh6DP0yR/BF3VDHl25BqUJFtrJwfSFbhGETuQitRPL8KG\npV3fhE0iQMlLI7asyxodZfSmT5BLGbT9g2Q4cdKqVe1hZME854eoExQd7LJd\nFf56FUkhnDXBvppiE23UmriOra5xE/hnYKPDxG3ysLcqtwKdJxgdzwlO4VD9\n56Wx\r\n=tsLn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFSY6vdHMXtkZD5+QuykITfGgDqHflJ9G3Dsqe2Wy5P+AiEAlOuFNRtBUHsTBmqAj8CChdjQ6DeTRdc1puWt1zXfSU4="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.1.0-rc.17a94b1_1598299571916_0.18291154122553088"},"_hasShrinkwrap":false},"6.1.0":{"name":"formio-sfds","version":"6.1.0","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"gitHead":"e613c8eba2303ba3839b89d4e371caaae8efe9c8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.1.0","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Lf5/rsLJWnxGSeM1g9mm2y6tXCS4Ky8eXbCWuDaq9XjoQQt1LCqgxUe0OdNXPu5g8mSCEag11g6nDumRzN2cIw==","shasum":"887c40125b4f3d6e0e43fe6f6c2db8fdfc428ca6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.1.0.tgz","fileCount":248,"unpackedSize":811493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRCAvCRA9TVsSAnZWagAAqssP/ixvP1jFDuXV927i/Gmx\nMKQ/LMa5UeTscvab6oadEhRem5l82PU+ZZhbyVHdT6gVJT29+IOPhjTMCMjo\nqD8M1+/xxLOv5zZYjX9zi2AjqyIlUEpM2cYRG3xrMyIVYcBS3UXM5jVWLZyk\nu2JuXSXPZ51XZmhoggiRyTaAm8lzuNN5ekuh/r7/Hp+iyPKCwrk35bdrsTlD\ncybm/SFE5gOAuxVflzOWPGhdObcyHpF1y5A0BxFjRGLGs3hlaCQCMp0mog4v\nZvvhynEvLaEBhZvm3aruKRhmmZg1gPg4jq+tBAYY2NSRhNBnHqtrB9QjJTGl\ncbqYmP6GorZkUUvWUmAGO/CxyUZFlmMLNpn8wNkUlq0AkBraSq2f5ypAiqFN\n22vdPjYgngUoxa8TgGtAhUbIdW8voi9mQjId25ZWlENCTGyKoPIkNYg72f7C\nTX8S8U12/yYo58t5fwNbTE2aJKk9ay6X86nfy0WiX6bjvrCx5gf1XdgZQaI6\nvxeeqKtazCfTY8Q8Fiph76VmOGaUi1Fiic+gUVkr5/l1SsxRoLFRe89YeRA+\nZTg49lch3jpx+41AxlhshdXDWRFtBso80JAO2kZHz8kf27CGyKTaR535hyqw\nqffTJuxx1auiyndwfhC8SwZK0cjk3ANSSZeqM60xzedAYkES6s4KKi8OteXZ\nRxfF\r\n=mZZn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4+vnHFucmRo6d/4WNb1wuoHxkJwWqkyOCZbBknvVhGQIhAPhciKkdIhxWojUMCk00AKYwPTJsX+1vs5RtWI2m1CQl"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.1.0_1598300207254_0.4397581509082169"},"_hasShrinkwrap":false},"0.0.0-bc912c0":{"name":"formio-sfds","version":"0.0.0-bc912c0","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"7e599d6c47a2721c3b83020491679647b98d17dd","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-bc912c0","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-0lfCp+SMxA9OhmR8dDic/YScHb0G+sU/mmkpCJhoG+oCVTDyZOJBPl+EtJ2XJiCqAC+sMlG6YfOLd3rfZe8GpA==","shasum":"7fb69cc92398e393cbc9cd6e02643fbdc403ce70","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-bc912c0.tgz","fileCount":248,"unpackedSize":811868,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRClWCRA9TVsSAnZWagAAU6kP/2rw4EZM7hlMSTJH19ji\nUUd1+UkoOyVhs+GJcOh8hCh77Xo6tj9K+qw97bDGhpPK40FaxBGdjOpjejsW\n+uaUehZJr51jIwvSRFGsTnZRSxn67sgLB0aMXxQ8wFlCgyprS5OB43gVeD5f\nxbU+10rm5/WJYfs7hjom+G+LMlVDTpHNIow+SXcI6oKrhhvCJkFwMrzxe45r\nQbVurh7u8cwfZESDxKUM99sRxNc8nxfgCnPrYVlcFNKFrZNNCcBHw5zZ/xca\nX3iqNWtq8F0E7gK6e6ZrLsakHeCpv2TSd2WoZNfjnYLdYbrWeN4nY2VNQO9y\nZoWxQCGPkLvjXCaTDmI7OrXcpDmwu8QRPA3XaZgsYx3utNVh67dLkGjajKyE\nT72iGDQ4H9HRwX6rwRSOcTIAJRjwpEN5VNVykFXeShDwqMILxjo0Uc4FQ3Sp\nNd7viJvt9isaeQWHRuf/OxRaeYdSaQ6CDBnNep3biTG2hKQqgksaRRTRAB+p\n5zdPyxYpPx+TLJ5Fkke40mgxKRntoaDdifK4OUm3XkZijzdNynzEs7jEFEWW\n1PI7K6CuSjU7B6TvdW1OLUB5gdmqYA62c5no3qml69tLo2g1jXwYSJu2z0qT\n850LnM9AaYRiGG+TXCZAYtghnVSU6XEKVRUBRp8EO5HmWn8V/Du01txZB4pZ\nQUh0\r\n=kFyM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYOCeBndUvVpx+kwwYal7PgPThJdASoUjMbJTej3t7AAIhAJw8kbmsea49vLA2cEUplM5MxvQaYYiw8ShngEsyznAB"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-bc912c0_1598302549623_0.9555803937515563"},"_hasShrinkwrap":false},"0.0.0-6859d00":{"name":"formio-sfds","version":"0.0.0-6859d00","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"8bc0dc006374dc17fe6c56e18611ed8628d44649","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-6859d00","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-v3MPV19ZuyjMMYAGMYkDcNj9LPPD7fH03ebZDDLrIgEP85JIuT9TZIS/LCyvIjfL6rw7rRKUen1sg33BDHdqjA==","shasum":"f4beee1bddc7ac3595162300c017e9b02750b0c6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-6859d00.tgz","fileCount":248,"unpackedSize":808489,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRC68CRA9TVsSAnZWagAAvxQP/2ZaDFOPk+9R24tuyAA4\nkvnvlmgvm5vd7S8k9JT05PWXQEKMU5MzyE03RDwlUvRXE6K6vEdDN4ZQzSjI\nUgL60TxM1S8OZrumnmr/gjml2JjJaLnWdNTlbM1DVGHfdsO1QN7pTBRBuTTY\nvuxsGyEHkQeB+If/tE245uZjkOKjliWAvzzZPC7GrFy6UGyoqyOpI+hQ+Z3j\nW7BlrKKGTqFCSIUIs0fAeM9SPWXiIOMev/VX7+FFtC5UWNbwLGYGmxz6qGdM\naN85/6F139aFTJseVteX0A14zCT/4f+fH1BvDorvjTvpDm8XKij7+aH1Qk9e\nWJvjIwVGbPbtA76zLEtjTybjLXi8GmcRB5vG36v0lIv486KwuJuLgzVJ2EAi\nJKlQrjuWK67mDuRC0pLLgzjN3Yl80h5yUWEaxYrZbolpErwj7G7MCnfewEzl\n2NO3s/WY0JJzv/vdCYKOX/iCp1Xh2kr1FjaKdujcgBgnaArtk6VUGY+8c8qF\nuNyrmRpxpAWgrFDQEHNDaK9/y6wazJ7Yh+KXByBU6LZsnBX7TsVDsGnvM9S3\nqODg2QPCSCB3wEowvZF3wmZFIjhu8Pmf3udz8w0YQnwqWEWxyvhAcfKjZ2zw\nyhJAzU7J9OW5bjG/+wakVdbvnGhYbjXPh1gb0tP4IWcVCr9il77QyuOKtldV\ntEEv\r\n=5wN1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFqMDVhyLqFHZM4Su/0btJqltsETVto2mGowIvAAN0OhAiEA7VuhfGOkCNRCPiLGcTYiE7YsiqwG9cavROcg9A+GQU0="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-6859d00_1598303931595_0.9498296167193789"},"_hasShrinkwrap":false},"0.0.0-1830acd":{"name":"formio-sfds","version":"0.0.0-1830acd","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"7c1c4d8f319394b712ce5b5f2445cb92bfd312ba","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1830acd","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-4TXSRVZPLXSnyjbYfDa53eYEH8DWpLiAv4eUqS4IPmuuI5+A2T04wN9c3RkAUCOSzsB+UQuIeWt4Rr3FC2tx0w==","shasum":"5dbbc0d7a48aee7e68d2a422aadaaca9dc065043","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1830acd.tgz","fileCount":248,"unpackedSize":808871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRDHUCRA9TVsSAnZWagAAke4QAJuvrLsg3/s7AKXvrCj/\nv/nVgrCVKeYRnHoOp0kyBzf35StLgckC4BP0JAYe1AW2Kpi/Vns+h7sAs7KI\nvsXq8tyqcgCzN7HTQknj92UcVCuZxEW02A2+OTG3W3nbkGG+0CjHZNC0QiXl\nMBnowW2k1iESSlobH7414ECkcg6gXte9OiZE0cqRq8M5rzY5z/wql9Fb8bGz\nmvkNXEijyrq108kNTKMFqbODBV7iadbzhQBUwaBekqZpw7tCtalwIfmq3CjD\nxBcX73DIQHPs484/gpOR6bKK7khedR/CevQAc/BF19ZoEfToZi1VoHzXLapV\nS0nr73qzBsjbBVLlmJjmWsKO78JJbieQqiqAKA7ZNmvGStAOrYFB2GU4FPU3\nna0HacNkX48qtiRqMLe4JqIvY3prORw0HJbVqVQyNck620w38GQ76sp54+iM\njW7JSOaABcvEkjKVyEsJBYHqOWxxGr9JY589DOJixBajLD47tTLHXES4SEH7\nU8vTySVGGXxuszrw+3Brzr5fvUwfGTdFNHZuJiUcXzqdJf8m/+C9O5+pltvn\nVnUC+sHnnyGFYg6j6RcxTYqY2Shjv0pZnPwxTqKtDLf98c/bbhVvu8AaZRuX\nq3T/CACy5g36Shdz/1SNgDW1FMTozr+gbJacEvWXmoYDx6XrwjV62Rw1BZFU\nRFbz\r\n=kKKr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF0k36xP2fqSinLn9OkFOUUnSiDZTcciY53mVLQmydpcAiEAtGhI2CXS2sh9U0dS9SJVNgYVuavq2/86QRiPm8T4Lh8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1830acd_1598304723945_0.41046071626279157"},"_hasShrinkwrap":false},"0.0.0-82c5427":{"name":"formio-sfds","version":"0.0.0-82c5427","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"225289ffe4d1bf42c949b117034b099c3cbc9e93","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-82c5427","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-mR0zXOfzF1rk6kR4zN4oyrZbZEZKvY4clvoKKE97qhoyguCsrJFZAaYlcoK47ToDReNJY7nhyy6umuHTi2b3bg==","shasum":"7d1d0e8e2a858f1e6099a20e366451fe65f9015c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-82c5427.tgz","fileCount":246,"unpackedSize":837865,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRT6MCRA9TVsSAnZWagAArZAP/0mWpLOkQume4nCNdRKy\nz9/DBU4HSNFvUOJT3bVE3J9M6Pab13b9l4jQMEBGlSjyB0xvnzYtVnZKpUcK\nkCbchsSh4Sbd5h6L8A6C7ye/Iv7YT0Wwt4rG90WAtJLqNyvINbDP1lxQ0ufx\nCB9bQXLtvrLUndI5dOsfPbuPl9jIli5s1kUh8BHfeVVwouxkkitb/CfTy771\nuTEAstUiqXgjHZSa/UeejxGsF077m2k/t/E0MuEBxYf1QrGSjz335AtPs91d\nd8zVwqopmh0km1LjlIIr/U3gFWAXIQ/7eOgq4fTFqpazhyl45YEL3eYXK4K5\neKq0r1fu+qhADqQQOsHKLF0w4gtL/sqoIiCui3U5oYNFK+U20sd5PdCaemjN\n8yjWQoKaHgHUTDe0cNez+hAFkFIBmgq9hb3YyD7qXsLZMy6HB5AYoZoXKr7S\nBCWtKvU904mjBgKB44/d+hDsInVn2sw+F5qlht+SZEHAwGgX+8itLXwkxbWv\nogw36UUdOUuGr1k4VGCguBPLQoJ/01gRGJ4XKZcNXCf/JBM8hEYJ1MRxxPfT\nQLcYUQpvjKsFyrP+AnmRkR+zs5QMRzLxGL2Eput44KGIrV9Dgc6JsAs+AT4l\nZNNhbxvjvx0XHQJKltU1ydyFKVjnR9BfB3kWP6RVc6/QS1Gd/K88yf33FIN0\n6dRa\r\n=G5V2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFxGcmgY+nHTQnhbt8TevKpo0wqXN8xpovHjkNH8XNzeAiEAr4su4oP/0q5Jho2u7rGS0oe0YYzW72uHc6pYMoYPWB0="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-82c5427_1598373515638_0.6214060971044357"},"_hasShrinkwrap":false},"0.0.0-dbf6c5e":{"name":"formio-sfds","version":"0.0.0-dbf6c5e","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"29b394dc746a5ae19cf75224c836c18179ba5414","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-dbf6c5e","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-PjHD8t734rIymn2bwlBqLe5VzfBxu0imnVZhSi4XJsL0JI9yW7BZs9AGLSLS0rh4THer+IJczRG4HOdzpbvlqw==","shasum":"dffdbe32930fe53dd3e521a9158d389c50eadd13","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-dbf6c5e.tgz","fileCount":248,"unpackedSize":810588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRVH4CRA9TVsSAnZWagAAsZgP/0Xns0/976H0DP54kf2B\nsYkFkzzpzaSVRC+0GzbIfra533+kGB+3gTBptZab9HgsjfKEhx36BbpOdF5X\nBHqPnGqLN24494CDyobWE+UUWi0ahBgyje6SEZg7E9PdqndTGp0zn/JLsxsE\nGn5k5mhvVa5Hddn5Len+yNxdNsXrhz0AQIggnotBzMkyHlJj/p/E8ymKW1DK\nwIO6lq9DHxEpG2E6C1ksFhICU9N00AkzbOO0D4wCKYKSjwl0ipBQOIhuUe3i\nA+9TUFmYeDV7guz9S4YqA/UtRcopuwlRzxEO2AEpWM7/h1ANBgYNUJA6tIGW\nSt2EDepL2GJOGPz8rFaSy5TnVw9P9YTKRx1EMxNdSa9ieE3v8LoaVC9QpmGi\nYdhcZCjoc4JlhO24EsDFOV7++vmkT1+lpZP+DiKLfBryrzAvs55t/6yJyQ3N\nSKtOPhaPQGaAoMdBdlFkCVu8XyIDosf9RIodB9QDmfuDQQfmRh7mY5lEXuvS\nvGK6PmUzY1UEKHwxMssoNZ84pNGoikP2hIYjdh7dfN/iV33cC8ZEIuJ+jbx6\n1K8fYPAEzfm+QEESO34nOovVTA0Bm6Bo11Y04TwNePUo6U04rbn9mp/yU5P+\np0ARYHF3ZyYeKFNxzpz4C7bfLQ2qWc3kuB+r3xKkpOOUmPp4ovVDszZN+MOC\nuNgu\r\n=aJ+y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1qfWBrvI4Wwk5pIosr+SgE7XctZdr2+jGTGusvkK/ewIhAIFlIJL5PQxH5RV89Ugp5SRyDCZbOu6lmMbCxUG+hCDI"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-dbf6c5e_1598378487717_0.3491757382150322"},"_hasShrinkwrap":false},"0.0.0-96b7d6a":{"name":"formio-sfds","version":"0.0.0-96b7d6a","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"cc100f4f520d5e885acf6bb8af5a0de0049366f2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-96b7d6a","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-i3EZV12u4i8CIITumbW/8NtQUATDs0fi1rCPdQom67c186ykhuI6on3+a59yBDh1YNJAD+rAWDOQE/ihSji8cA==","shasum":"6840aed803bba111da4c618795142daad4c31a78","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-96b7d6a.tgz","fileCount":248,"unpackedSize":810751,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRrc8CRA9TVsSAnZWagAAE5cQAKGOkfZEWukSY9bcVKcW\nI9E325S4vq26VxWN1iDlztXc4/N11nKtBN90+QgjV9RlbfjgPwPw+Qd3qEwl\nFNSpnd/LvS7OfuSm4uJtJBBDGVOQWKEcHyW/MhpNYTcsxRMv+XrejlPtIOqb\nanR+1eh9SIfBC21thfk+1VqKiw0VCQ83Gs7N2GI7GL3IldIs+eRMsQh3G9Ca\nljs8qIc+kK5Gg+X0w/uLDlJKK40miZ9g8PzmkcFNXUW9Ie1HJchY3bs8xboI\nOAzXwoqBKfQJqOTsfw8w3cpZ4Wb356SdnYTaI2GZLnZuBbgSwQWyjvo/ULf2\nmCoRrscHm+f9C8IxskLVQ+41KHK4/CIBMHI82A+sKPbKfXRBWZtq7+MFjX2t\nNlVKsrtT+f3dqSbJBufwW8DNcoLgGTvbNTTqoOcySUbVcJU7dPZ24w6GuOcW\nXhBVQuWaFWAhoa1vWpIy30/DC97ynkQv//i5sesaxotlJA8tFmfbbvVZLxPS\np3QdQ8rNIQbMdyK2O+P0aH9IWl5m2g2TjPHQWuvmlhrn0/ldoO+HtCxqJPl4\npxhDOrjkqJAkw60duGllMN1mUPj9dd+PuTVMuCykcZ6oakMPksZGrqix/BzJ\nO+8f92rtoMOlaG44AYqdb6bnMC19HvJiWDHx3k6GZDeoGNFQWNnJxLRe2kzA\nv9Rc\r\n=9DiY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgqyiuC4cN6JXrhPIsZguF55lt1+r2DM7P4BGpCGn6hwIgOzkmVzHEfczbdsu0mFNSweaq8czYyagaqCKs4BZrKw8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-96b7d6a_1598469947936_0.2245996210614527"},"_hasShrinkwrap":false},"0.0.0-5f2c8ad":{"name":"formio-sfds","version":"0.0.0-5f2c8ad","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"8a90f5d37288d52a082260ba66b2eb43ba6aae41","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5f2c8ad","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-uty9rYd15RZ2fHZKhWM7c16KI/uQvCTqpuR5Z0mlxMibhf5AiH77gArVYfWZKebtoZELDhdvlxWIxP9W/mdTJg==","shasum":"dc8a48e1e48a3c3a534e3f9f9da1da796f82deb6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5f2c8ad.tgz","fileCount":250,"unpackedSize":887649,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRsrVCRA9TVsSAnZWagAAUHUP/ipgSF8K4lyKS+4rHKdX\nwvhiMcmq7BKQf2eX+6F2uyF7mre5NlQFR8L8d4msKavfgn651GHFJwGarWKQ\nut8M2hsyYYA3AyEp6aAho/3Mqq4dfD5n7Ugt/IoLidCAhbZeL/ST1l/WcPrr\nhL+wZm3r/mXYP2BFxUlrpZYA2iz70oWu9yfOKhx/PlG3w8binvMyDc2xNS+L\nc1l0vobV3yfZNOc15C70D4kWwaRUv8H0nvu90/MnCePzQ1zTWzFDj62tCI1s\n+m16+FopG+ZbduPFV9qGcIK4t8b/P6APJ82yLR4O1vyh2ZlMQOeAmrn4xEvo\nUtdPfLs72NsxXECqcwv65YgL9tvFbOorm4hkNTdXpImyD+ILdIhzrXPBPvqf\nVUdSXtTyRQoHQnraI8w0vn61D7GxO5w+C7OV67RGxlR6acDpZ29NpStGV67D\nGArXiEw14Z6+qZtnpmMCArsyWQFTFu9dsax8jvbSGguMdQASiLO7Cr1AJYd+\nFC2WqPLwjzvKa/LRmoBIXETcHHR94Lcb7JeV9j3nSff5nHv2LwfK9T3Pq3EX\neSHCezXDNodBQ2YObUfC7lX0xjl9GRYFdZHP+Iq9VB1Km/GyoL9Tihu6S41L\nCPX4ZkFBIcreZFC3N4WH0oxszyaX03eB5ACbLPDSwFdUDxf3UnkShop84cbh\nOpqU\r\n=DWAc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEyUvR5bR7hXMiLfYn5l1lyB+PW2GO1r4oZwQLOOhr0wIhAKvyFPv2dUBsb1seUCxBLEIxY8bnaIe4/BCCYu+3ui15"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5f2c8ad_1598474965254_0.5841075327614524"},"_hasShrinkwrap":false},"0.0.0-0dde3b9":{"name":"formio-sfds","version":"0.0.0-0dde3b9","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"700e7733c524b94a25ab3f636c04fe3823e66a6e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0dde3b9","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-JyiLWXiKKFINTmigqdlIMJWLQvtRd+bT2rQYpwHUGCtY1aR4QJ2LPpQlPBuyvayu3dpF5gGbcaTiZjtPRW0ygw==","shasum":"6fee366fb84e3629e8fcca36e4f8930b6dbd0982","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0dde3b9.tgz","fileCount":246,"unpackedSize":810287,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRtFUCRA9TVsSAnZWagAAsPAP/i+u2/Py3gqxDrEb4Hce\n51nDNY2yTi0+Ac1AYTsmP99cc1Q237xQaSuFyFyI7Zba7NUYExQwcxnjTqMM\nXeb0mMIpj8or6zPC3nqxaTjrbjYs0X0ot9hMSHOHeWkjgM3/pO/S9cBcTMFC\n5yNx7kOYbzjXzRXSeX4CdUKeImEnhlyKEkuVdT3p1954lgibsEm2sOUDdPLT\n71o78HQOodWFD+f9Wm3UCN4ErZPpPHlBVlugooKIBIse2F+tuG4I8ws/DfLd\nUwho9SnmwvwcS6j6vMsnv1k0idyBLl05AO7dsbCUI14Fasx4X+qmnhr5hbj/\naHPn4iiqA+HhTV87RuOKKeoNVZXZnrSQh+MaZp4b3f46LN3tIj2bMH2aWVBA\nRDJd1vCkTKpHoHVlPhL5njK09GIsm67QdOV0oETluouDUlqxoDf3qs+a6Wus\nMVidOjGWcAVa8c5GQirNuNnF7x5IPL2t8kBUlEGOVCTXvhi4fVWMCoFNDH+b\nW7skOB3yMePJtWRV/E9+KCIY39dFVpbAAJGrTznzoMMNhlg4jlcKNn/hqIxz\n52pSYA77YtfKjuhSMZUuohWeDkiMuY9nhxW3ScvW+2bxtTXB6bplGvNaAQVj\n8JgSsmTZJPEQBXTHFrvT12izdhfsago+N9E9j5OluZOwQLihchWO8bReP8ur\nzdxC\r\n=HoDJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDc2Emh3Cb0elfHka6f6fYvB3WJQ8btoH+tQcFtyXYtrAiEAypDGJrjB06UjgN8lDRjFBe1Yz1/7Sl4LcKX8TZBWsOQ="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0dde3b9_1598476627348_0.20564985092818255"},"_hasShrinkwrap":false},"6.2.0-rc.cd4cd6c":{"name":"formio-sfds","version":"6.2.0-rc.cd4cd6c","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"142e9677d02f739ef862b4699e38009726f4c1d6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.2.0-rc.cd4cd6c","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-yXIapfNiiMpm5KAAaqovntWiXFrgYzQcrvDu9ESRoEx7riZJxkC9Ytx9LEs74Bx7Dlz5SKsb1O+FItN7GnK23Q==","shasum":"32d2429d66eb93afaa6df79f365fc771938cc5c1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.2.0-rc.cd4cd6c.tgz","fileCount":248,"unpackedSize":811504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRtGpCRA9TVsSAnZWagAAvO0P/jFU7uqLXRjZjTNlLU5O\nUyP+TciQUfi40EMP4Z/0x8EAUEr42LyhEWfyM6gMaaINImUKReOR1zSIkgut\nNfDjKatpXdl4DyTnthnlSQg1LhD865KcLvnUUMJzEeMZnwjNzaKvQ8ErNezH\n52wBIHh198l2CBvmOoOzNwY8qQNX0uAq6GtZlkwrFLJi7CWX34QkSPnc3t0L\n8WjDg+YeTFGo0jnM9wapUQhRdM+jho9RcKIiaH7qbKNOR5zxQRilbdTxzH8H\nQxZIErgnfmL7m8v/lX46FO4BI62NYtiJM+L7Siv+Q5tUfZsCdsZNmITjLJTQ\nJ0nlF3hKxxV/b3QgsC8InOjhqCmxlAAqOZ2+zoGK+2D9AgFqBFglLFSuCrGZ\nmhFGWMt39CLaFwLYWgzoYMiHi9gH7Mi667RHxuTmSquNFggRtKbFSra71nct\nu7Y/Z+cfXjbvqcyGI3mXh4N9ZbG5N8KoIispitF31K/IT6ZtqLXGYUSkQQ4J\nllqcKZEfUYqshH0YPn3xeD6thy3JelQPoBWZV1ownQ6a1945Kae2t3xb6lFb\niS6uqRVsbAE+bIG/vmgb+S0r5rPUzfxXevSJAhgar6cYjxqDJvOcXBFzmhyA\nwOWUW3o0T1ZPNMg6e+eSpqvTkDxkEhlpDGNLOZ0/4w6goG2mz6OccCaO4LVT\nnB21\r\n=cxNX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIATlm+4ZVR/G/s0V4LFqFS/C39aNDHUBtH0R0wTltvryAiAc5dAUR68jD6sVYdJtgqh5xDaxsrZ1jB9g345WrlmBBA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.2.0-rc.cd4cd6c_1598476713152_0.8535582973661631"},"_hasShrinkwrap":false},"0.0.0-867cf35":{"name":"formio-sfds","version":"0.0.0-867cf35","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"5f002fdba42e3811322500f698b81638e63bdf52","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-867cf35","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-0hn6lQW6wsbfQ3D3iegfNUozBNKYSiU78lu8KEKWHTOiQp7wn641s2vTEED/xQxZqQhkPuKXmOQELXgpvoru2A==","shasum":"a83b1dd4db6c4887e60eb3d55ecd70b590b16ed2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-867cf35.tgz","fileCount":246,"unpackedSize":810387,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRtcGCRA9TVsSAnZWagAANjMQAKCZMFTqzzkqlHW2PjCZ\nZfbNQmTkVixpYSio3qkKoW1ZT49Yx8sToQaXDUT0gjZrR0sqknNV4vPquirv\n/6Y6T1Uuv3cAODmxzrmT9lNLqrSE7E7sxSFpLmcvLU26hpm2lIxL171rYj6K\nQRJx7oFNdC+RJpPRB9AfwtgDAnkDFVh5CYJ4qsE9SRDeAkUMgPk7whKY17uH\nUyA5MhteL+a77yA3E4elCesq+irzH7LCzIczkHALVl0gTKX55HC8i+8NU/g3\nJ4OydAmXsiI62cGSDniGiNz5Evnu2tvbM/LcUQng8EAEcV2hxcZ1PKh2OuBd\nJ47l4o/JEoQySSvVEgg0CciR8Odh5dWti8PqMcivHkeeSWaCe9WG9lEEgzGX\nyPb2zXlaSdY5b4TfCVPDUC4+DExeGr1S+R/duYdcEYecDzpkX1IjIF4z84Ri\nxu1oYJvZOfb4WVVoI1OUAKphmMvbXysTfULJeA3RrUAaU+vlCwPFZf+uInHJ\nkzVuHKekIbA4R6dA5hWFOn7/4gYRW9E01HhzmS4Vo+l6VYSr+XBqfy5U52pC\nOCSF30XjPrfqUsOgr7ArcD1qAJexKgaPt2u7im9hT9/2rZ520R7GUsmUYngx\n2V7LshWebj3avFUmNn9QCL71Syg0f3LMpVw4bgr1fGSp3b+ligBkbnF2mgA6\njpJH\r\n=qbo4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICAhog2ryWTSX9Y9X0y/2/U33vAzUtvZOEy5h1YlYp6HAiEAuyC5jgO71CSAMUW+FEL5imad/88T0wbLlTK8phVqkYQ="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-867cf35_1598478085941_0.5183749682506267"},"_hasShrinkwrap":false},"6.2.0-rc.e4429d3":{"name":"formio-sfds","version":"6.2.0-rc.e4429d3","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"d5c5a238054a1460ede7f5527a71219726322312","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.2.0-rc.e4429d3","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-zZCxJgtRwmTGZeE8IOK9gx1riViS8qlXub41H/07/Uz50BxZ5sHXcSXKkxLBcaR4l7L3eQcZ7nYubTNjAZ5uZQ==","shasum":"0c429e151540bbc72a63243ac1f6204a5f64af80","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.2.0-rc.e4429d3.tgz","fileCount":248,"unpackedSize":808874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRts6CRA9TVsSAnZWagAAKqAP+QHI0TgpSrQ6fZos2uAG\n4tS5znVb1jP8eaInbnjCuwxeUz2vHimUcJlpAMue9e3kecm3+bxBqrQnj1F2\nk6kcg/Nc7RibWahJ3DNpoD+SqD0aG7C3esrxdi3iwH45HwGxYNuaAT7gp7jK\nqKMG5jdAqZGlUz8ezy+apfq8zPsZx6kzVwGmP5l/4Fq0DZkKAH/WhkPYhG3M\nye94DYa1xGT0hD9Mo4aPso81N3aFB7aQrw5NHYIq/sJEdsoCxZZPAkFl0E3o\nlGaAfjkEjfcg0g4NGcEEKaB809AFfFdybuQslp1dZP25/Wa2CB7gx5+kOVZa\nAIEruu8Un5MOV+XtSkNcn1NpIfgiwM6Qto9ciTbVRtPi1+Irj5Qd+aIPYT31\n28f1/5NQtIKaCCDLrBce9Ss0JktKPXqqRayAWlZUxoDxTfnq7UKV5n9AinJs\nNuf1HF6mno/9qHSzzcpgHsaeyj9GDCuRib7tI9TZXUa6FvF7LcpmF6ARuObC\nrIiC4EnOQLvpi28IvW113LKEjZMHMSDIIFDdCeDg925p0RY+vRSyz7TpFmE9\nbQok2M4h6ULHLDP6YHOtgBr84/aqoE0fUVlHvYrP0wWLkzQnLkON47/s6sMU\nWD22xxahtkzSOQlhDY8FGPQrKkGUy6pUdwkLPRo8K3Vdn0801lmUipa1Ye/Q\nn4zk\r\n=/xGK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGRLLpGteQegNMFhji4wV852h2EJJG8y6p9eyoocor0xAiBck36szqqXw5ipSSC/ge8UD34ZV7Ymb77jS/hZvDnWIQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.2.0-rc.e4429d3_1598479162333_0.05146546069535107"},"_hasShrinkwrap":false},"6.2.0-rc.f7caca6":{"name":"formio-sfds","version":"6.2.0-rc.f7caca6","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"486ae2112783a277428e12b544c5029b7debfdbc","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.2.0-rc.f7caca6","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-z1e87iBCY36uPViJv+2SNit0wmN+d9GJSMUJje/IdHqsD0o7JVe/mjtqWnKQsG5Ju269PGy+OB/XR+1q1UKA3Q==","shasum":"0c94f593d3a38eb69d9a84343919772f63ed4e63","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.2.0-rc.f7caca6.tgz","fileCount":248,"unpackedSize":810754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRttZCRA9TVsSAnZWagAACHUP/2vrMJCTxhnkIDYelWNg\nauLCyDUPiPBRJgm92bv41RWvp6/AQm/Fvj1aI/VMPRmPY2tFWwH74fOBiWz9\n5qYJKf3rcsIoVNQEbJeRwPQ310SfW7xQfh9RR4cm0OaEC1DGVTkX/k4iIn47\nzGdx0GfG/AuJqqYG1OqxcjlvI3aTlg8U4KBCP4vYcL+pehO8FjsqN+qvbB85\n5yo431Bz6pb24Q0f7ou5WZLwllNrcgCnJEJqaNedRWJfqNYttCj2Rm1Or7Rb\nPGY21MPzhTOmWe+1nj7vv9GvbtdZzsKT/V5rVVCvPFCoCj5gjp4T0TzH2Eju\nheYkmBcMqzeKtfXjHC3V8Y5Fuy7msfMiVon1qb6xeQVi6lceXZEtbciRXs4h\nvTc1R2SyAlHW9fRTai/gbVDv+UAXBNltq2e9u1FTEESGyf0An/M2p7ByP6RA\nfpWjaZTCylN/7uXfSmTrJzMRFkuaDXimUpP1Q325J/HrzzNo6jwXpIlkHJkP\nFYb/LnyOKKInHwTJX+HmvchGvMCUleDlcbI+8He4QLgresD+WlRwqIxhAk9B\nEk/g3JkbQ6tBSHrlFCG3oN+nZ7MPu6mjDOABEAhgsXt/F6GLGHwN+Ix3+Xxo\nNt2EnfdZGFqJKaXu6GpBGTFaJ3/wE/6yfFZYuLff4RDrYlXmlxux/hHXEozC\n1BD3\r\n=Iy3k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNARvTeXd3EHW0925sX8wVYUMul0zlvXYHf3PmCe+QsAIhAIeGv+BPVTaxZxQP7PGPCLdq+82OF+4FijWiKfLmrWUp"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.2.0-rc.f7caca6_1598479192686_0.23403424001306172"},"_hasShrinkwrap":false},"6.2.0-rc.aa6ad2f":{"name":"formio-sfds","version":"6.2.0-rc.aa6ad2f","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"abc0aed99e30e7e57c076c400d9523008c880a87","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.2.0-rc.aa6ad2f","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-fvLG8XwqIuLIBOiMFXzxwCsB16RAinMChzT7YEHrK5JBy3ye24NJvZLVWg1LJqJLEtoORoae3IPB2GxyT2E9yQ==","shasum":"b659daa3fdc4345367e322941a7ede4c51edb18b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.2.0-rc.aa6ad2f.tgz","fileCount":246,"unpackedSize":810390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRt44CRA9TVsSAnZWagAAtYoQAJZPkPuSlEo6IL8NEiiF\n6ShQlektLEGuAU3bhG1NrPpYITYbJfijtu/AzOFLWUNkn0Yom/lmX1Nyq93C\nBbvNnQ3K9OAKwCxHyINBvIGLCwGtnNjT2uqkqclwGbd7JmwHuyzAVrL0W2oW\nDBMnVPUyEgrGcbItE2bkm042a/S6uI6QvLHEdn+VN4tCwKdZ+no9XFKr92XM\ns1iir+e0ldBCsxr4KzME7FnK5V4nVYxtXpTgD0s9NVnd15Ke5DK6xrUuOXRf\nMi96446X8LOflch8xCwEPHy8lwynKpMzsQ6hsl6mSZ9JRSoiUfzxrSQH//5W\nXoZsN8/UZW+tLE0Q/OowHGJluXzUO+7jGgSgpg7C3RjQDUItMWKoVQvm8zuU\nqcpr1tY+lH5OqC2g7l73feWD+zENiV2cBCd7gxrM6qBK3c50sEhsn4NesXwP\n7myqkzJckcTD3GKf4td2v+2bCbYfNSIJF0sI0p7APN96B00jZ/LQcDHL7OX4\naFC7gL9SsIBCiqEqNKWt6kQtcQq+RqUItRE9w9N/0+HygEfbwQfSOxUzvq04\nWUMhCpdu6XA4fZtaBa86k4fjozH0lQL3pUlkE9nwBSkzeJxbIygziJxkc+wr\nyaAnKeXzFgUGiPtI5l9ygLg/aRAzz6Bs0XH1cnCApSA6IAT4e22tcfsq6dgY\nm9Gx\r\n=pMu/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFl3dRWNHvD7o2hCsn41D48ceGUEKKqdJTudYxdJMggAAiEAiG57E04uwuTtYW6lGwKVpWzAOGC2bjagDkvxtLeZn20="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.2.0-rc.aa6ad2f_1598479927734_0.1413654818302743"},"_hasShrinkwrap":false},"0.0.0-4f33b73":{"name":"formio-sfds","version":"0.0.0-4f33b73","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"b6c025e324e6e2a627ab48800b2cde54098ae539","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4f33b73","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-i4ylBLlJaRch+5CUXXP8JeN7tutOHbw/Nmnd1LpW00xAX42DLT/15tMF/NXHz/d6KltcLO0kpWbwhwXIrAeVmw==","shasum":"35f72478503915864abb7e9d3c4d1b84292b571b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4f33b73.tgz","fileCount":246,"unpackedSize":810387,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRusSCRA9TVsSAnZWagAArKgP/iSIfQvqAyOghYeR8a9i\nfEvhQ+Xi2QXMiGueWNHcw93l2YfKJuQDH7VVvVZajtMaACw1+9bvHdK4rdwU\nWLg59PS7IRqpGkwICxFDJ/ouYtKuTChhmtYSOn8tG661DVng0mmU6iuvZQ4z\n0ogZwJ06l6yxa/Q8K2tWUCGfNxT8uaRiMnsvZRWdrCMafp0Ei/FQ1O7e82AK\n9KRo9A2gRzH1DG1HjOIs5ZBqUIQPiuqaZDZ2PMSmDSmSpqC4ANEa7o3XyxAk\nEYdqZMgJETqaF81cZCxMdnvjsSXlD/pTte2CxN5iJM1FqpVhSQxZ1RrS4vHU\n0I/5xSVrMImX1GTKk9P3BhIjMDuHEAfYVfy0Mn36+lxxE5W28UGrdiMk99K4\nWjXHDihT+yxDFwHTBT8WOPK70npZszKVZkQKBfjgQbG+XMNMrmKZzI4QeZVv\nZ5IJeI+scYn28wgkezgNDaTY94hrNgxjCx34lAV0nU10ys2xQVtxc9voeW+N\n6PPQXQEJ10YOqsbRJJuZ5LWVUsHgqmTEw2I6xikbx/rQTrJqCOfM+ri1xaqe\ns0gH4yFok8aVpcCgz7Jj3QRxgME4fM6vm4eDJ5gaOYW2HKDZXh31YbWajCtE\n8SKCPV3iCFncvXnDhtJtpiryRXRy/i5FR/dkTTS4zw0HAUuZKfrvEbreQlF3\n5mbP\r\n=kasI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjch/C8u0euKXpqKIYhDjIXlZ00X5bKf4uaX4GOJ537wIgasiP0aCv7u6vmz4FUUQjH4t49+hDj43LFiQM4pGbJ8U="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4f33b73_1598483217423_0.7107971328829745"},"_hasShrinkwrap":false},"0.0.0-3b17cf1":{"name":"formio-sfds","version":"0.0.0-3b17cf1","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@actions/core":"^1.2.5","@actions/github":"^4.0.0","@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"f9c18f08835306ce98866dbb2f15f5d9dba982d8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3b17cf1","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-wK1+vqR21/pjlacGcos4+4x9ers5hvhsxpnOkS9Ksb6xEUaELQvXqncjtidkZ52LBWogF/rifujyylEWHFW2Iw==","shasum":"0999cba1bd9d286aabf3feeb413cd20518bcadba","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3b17cf1.tgz","fileCount":246,"unpackedSize":810451,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSAxXCRA9TVsSAnZWagAAfNsQAJ/4TAuY/+LuTTadUBUl\n+nZiPIqtMKcNNRWO30b3IXLDgYmePH52RJT0PIz68ERr0n8Psi94r8fxEUkG\nb9I46rMZcWucScc8N/WaSmj4IDpLNMeVsONfauQVCh6zrY8KRjJKKjtPjU0Q\n9a0NNHDSHAqFsO7HbHPxs8SvFJa2XtgIb40uKvo/DXWrvS4Yd7vlK0Wmy+qC\nURV7MrYMcCh3u7uzFZ/4NQIew9vRzhF3qRhmC9Vkl4PLT4fv4Nh14TSCuaRi\nZLzGdntOZPjB2T0N5TpCRntbxlzSZHGibI0XbPEMO7KmDR77JeCVLu6TC5y5\nKIfoLUrUpElgYBBRHIoUFWOVRP3SBnA3R9iPWNN9f+53mutM3bRk17QmW5BH\nBnKZlokD/1DzOdsVmdFrjyZyMmI9ZKDfXf9pxFLkg1Tuxj4NEUpM7Ty+Dgqn\n72zq3bz6q1LCuY9ZLdddJVvbuoRO+ZRJiHBhujF1VnDzlDDDOKttwWSEHnln\nlwhXD3+SFwF22iXRmQ3IdQGT4YTsLSCOmiP9ZPnKELMnMJkIdcul90flVmUX\nE8lJto8MfJ5syLFgc9syiBE02XfjCbsZrrjsM4vkC3aFz+d+feib4FY6NQUQ\n6fi4dOsGitOcODRJqwQdOZ9QVNPjYKwY6HGjpTRs4qaM0n3Z28nzVsiQZ8kJ\nIZfs\r\n=kMOf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAHJa7piN1S/yxwvOEXDGR+2tcju2eMczvh5iK7VpHGiAiAOyJB7dsFD3ZHVkieOuHVYw15A4L9cow65i9s3j3gMKA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3b17cf1_1598557270571_0.7439582399258236"},"_hasShrinkwrap":false},"0.0.0-d9a1b30":{"name":"formio-sfds","version":"0.0.0-d9a1b30","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@actions/core":"^1.2.5","@actions/github":"^4.0.0","@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"bbcc5919d6d23d7dc65b14fbc21449f33907fd9a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d9a1b30","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Qd0ej1esLA0duV1OIT1PrgXGMr9vJXYs6WN7gLqEjONuxHjdLjJki0reaDglc1q9ohjzuqyqAiU3Xc+VV2crCw==","shasum":"bee08715f07d84bb355aa69a7971d70d8cb666ef","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d9a1b30.tgz","fileCount":246,"unpackedSize":810451,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSA1cCRA9TVsSAnZWagAAFOQQAILoOoBF7ywudJcm0Q8w\nyTZrEsdIqlixnqfE6BAFPYThJyWavD31jUZTjJnV2DOhe80NJ17ks1AooMY+\nXVG66y0wBvlD5cMdtKZpG/3hiigkYkvzo4yskxp5XMwu5GSQcdPoQSWPKOYf\nUlMLaj36DX7zpNQVfCrYDJpBq8Ce57Hueiz+zXNuom5Icupiud1ub03BD9rg\n4LSvCXsBljlcmbJrUmyO9J8iIohTg+xwTr2tBlMmOCygOUjJQxBuSpC/iFYe\nWCgNCMUfS8nje93fFYzjkqLl8b9JwWHiQrJwhJNIbvt8dME8wWB8uDH57Ucr\ncrzZtmh/yvtQRwoJ+eHF5XDIim/u9yOLAiBetZTA+UDgjNNUy2jglvv/22Ql\n+r6e9remCzXLtJ3x6tdbDa2U9YnJrv8ORPCyDXu/1R5rFffhuCRhu0pbtxpQ\nSVZ4a3Os7eNryDI2JRNizdP0dkTZgV0isigodnoc+Td+P9YPBW6vH1e/4IA7\n/CMqRVTipWZM/uZGtzSefwRvK/VUG7cjocxdT73rceeKkGGyQwZf/p6KJ/bb\n/Tdo4CLbY+SFPXmOzOxZrSMfMhHwB7I6ox6vdJ2m+hQ+2GZX5nwB/iQr65rE\nGuPmSEbhjRuX/jdPIrpDY0HAQY5YFIDuw+ztuPej9Fdnn/SkKwdDYw0MkBpr\nlY41\r\n=NpQE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3aCTXCRSIcatNuZc3G77yN9BKwwZ20udceJrNCa510AIhAJ9QAP2AXY/GzWpORv8b7R2pWL62xBk24z+YU5BQb/yp"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d9a1b30_1598557531933_0.6570675149556144"},"_hasShrinkwrap":false},"0.0.0-3871c9c":{"name":"formio-sfds","version":"0.0.0-3871c9c","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@actions/core":"^1.2.5","@actions/github":"^4.0.0","@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"1193d8e03e12dc490e4854bbd7cc06e7807af8d3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3871c9c","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-p58lJ1jwqYlDU4zKLJYNCdQpXrCO0J04tWTdzMIOsS8d6e3gkzWsdCaBpfeYgM+vW9jIi9d+I0LHuCYwQXt5ag==","shasum":"a046006a77330fb72d941f1d72cde446168d6a6e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3871c9c.tgz","fileCount":246,"unpackedSize":810451,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSA2kCRA9TVsSAnZWagAAEZ0P/3BMFlH8j0oXpIieT7ZV\nFlOlQCWCUGQi8tV+31AB57a6A6ag4K5aU2yIbQAIdCQSmEcQZAMSJYg8ltWQ\nX8IPfw2nFwBjkkIjN7NvjJEC/TpqSgIPC2iZqtqx81JbVx1rs+UZxLhLfEB0\nhRQR3nMIvlrX1sG9usNrIJMtKyHNssui9WEclpVabIswNoZFLsgOEBwkwKnS\nBxSZNDV/4q9twZVMbTMCG0xV55KsszyNQUI0fF30F6uMt+tRY/vXx9O/ppzw\n/jmhPDTpo4XpdlBLoQBMw+0PiT6dPXq9OwgrAo8n7oNQLzSr4GhpB2BNon9P\nu8M0+gudOrD9XzFdMGrvWC6Cf0/UkRG/duqbq+f2oN+MrChHML2SJHQ8bXwK\nvAH7wuQs1b0mztfn+hK1REXSnHcBLKyQH9TSgtjIfhlecVwe/Vj7GK6h0OWG\nSC1cNRtn8zEv7AJUnQtnmjprLJbmNFOHMx4vPz4Hdu7DTvxsEKG/qlNf9HcH\nAB5cgJuKBQ1FvyCH9UuFp8lmRuRVxsQhBGHEi+oGmxbT2ruHOCsnMqO0Ig96\nuVS8CjGU65EJc6bl6shAVh0Cjp7LNEmbRT3rQCCPoDweqTHxXU3lFTdxd+fj\nhL3t9JdBuxQ6ToTUO8ktu66mEZminXFKUv4aXigAhpD9zQJG+22Cmr5HZRlw\nNMDq\r\n=qNcV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9jEYBIacX/kwdS8WeYtbbvYb3VmF55e5u7e8fWlOm2AIgKt21eAInPWuNxer2cNmPepyv7KyowHPwjpLwPohftpg="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3871c9c_1598557604266_0.19619425276943203"},"_hasShrinkwrap":false},"0.0.0-687b9d6":{"name":"formio-sfds","version":"0.0.0-687b9d6","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@actions/core":"^1.2.5","@actions/github":"^4.0.0","@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"80d87569e2176ac87f0509c83456fd0c492a1316","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-687b9d6","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-4y9PAa7cfSH2Ye4za0IHcLP64ky46nGlvrW2ZO7Z+rb7mvw2JUg2vpXlXYNxO17gWNLrpBob7enPeYrbGAwHzA==","shasum":"09966b88ea610e069f64039a4d9fee73c0de0117","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-687b9d6.tgz","fileCount":246,"unpackedSize":810451,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSA72CRA9TVsSAnZWagAASoAP/iT2vCx8+udXW+vSjXbz\nHmqriiRUAsl2p4Siw4DrOHo6rE7Gw+yQ3sZVdtJ9VwX3uAc1lor1XgNSgY7d\nHhqN7QsDq5TekMAxfBiRTzy72Cejk6w5xUmEAwJ6xzwKUG2TBTwn1kfkioVl\nVnBWAWkcBuXdig6vIkjP7a+VC6Cr5onjKwEiWdz2vRbto5hLFetOzCT/ov97\niGhk+V5ezdHuI5ktOzdaBSHK9bDF41NsAvdwp4McCj7cSU3qnBTWuz4pYzO4\n61b+HDtKitkeFFQHeQEu8eaiwC7YH3TSQSTNvNuGrRX79Z8q0Z0QCdAFCdV8\n40VETJGY0TIzNF5BeuLrTzkh8++fYjxEYwc/x9OuzGXYTukTCMIMWo+dkUnF\nwIvzrm96r+SD81weIkLv3QDjIazAiyRhtewFxewdKO13SCu4Z1kEnmk/GhYD\n/8+hFSfMeIAJI0yqv8DEF/wm/WLF6NbQlQctVhppEl9co/zWmuYjYRZCmCL6\nS47ZqJIuBaQu1DHnqguF17H1X307rzAvdimIaQExDk2Cpr7qhFrb8YcWtn0m\nXwpYWI8vSAUOu29/w2QHHTQAbXV6qtNlqxJfW+heV+XFegjhGopZ/UtTwTqL\nEtSVkYxMlimR5rC3N4bnyaKY12SyrVQT5CCzt4bI325X0jnivO/Srgt2FhPb\n8D6r\r\n=/OUS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGMhOph9H9zrR9/V9Ov52wnjXcXEfDngzCgz28buY3BDAiA9kfvAjeqWWxQdb1E5ELw09Ejr+P7rJmue1hnga4ToUg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-687b9d6_1598557942307_0.7605300671101822"},"_hasShrinkwrap":false},"0.0.0-5ee0744":{"name":"formio-sfds","version":"0.0.0-5ee0744","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@actions/core":"^1.2.5","@actions/github":"^4.0.0","@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"6b7f1ebbb6d5b44d118cc1e80edbb648029da404","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5ee0744","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-2arEZogFxSJ5pRZaruqwaWY1eyIjVyU+CmL0kIdScUGEXLv3keHRhPq5zwfw5EC7UGDWEUPOSHL7NqtzTpi0JA==","shasum":"6933ecef1a65a0c356e854f16b5b51203d9b9859","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5ee0744.tgz","fileCount":246,"unpackedSize":810451,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSA9ICRA9TVsSAnZWagAAi1cQAJCipT/mii03ZKaV30bu\nnQb50EPv+dG0Y0JLzRib6U+JinLVYnBkZNW6DLuCSPe+lMn+aFdi8AhZXxfj\n7p6s13AUrobzPOOWJarkGR6B++RR8vBO5h3B6sBcq2Ph+IVPXdt/iM3AzeQ3\nldW+wGBUnIRXj7kWgqxUBOimnVgO3zV8dG3HQZFY9cU/aoM2zJ5pfal7TqZb\nGOhIpS208yA1V01w/seL/078xq3lSjIyW9jnyIqjUQ2kOIl8giMjauASeQdh\nq+1ijUkv+gnv0Uo9Nk91NfDQb8+6rcjg0dYHblFQflS2E8TeS7uDzuiA3AM7\n4d/BP9V861ufD2714YqE97ScmI78J7KxQ9GqQyutRDvCtj28YUbubLxk4spV\nHecftxE8667Fa7um2u2Z1eu6xFvJQlGDA5s7JF+fB8eWdFn1585d/14E+9xW\nG7eqeOtM7tDIFV0HhBF4V7RU8lU6rUzd77y1mxvL/uGr7PF3jKW41t4w/U93\nMZZTuajUXczh6wqAEGYf7Lf4HhHT1wXk8tijFf+xfgjTJX59G5OK+yYbn0F5\njYqEQJgH/wFDlcJh2wuUt40y/3PRoA5hpeOnZCmyDTiMAHLXOXQMoW1xBo6r\njwQQbuHtYSxTO9jwGr2peLjyX1qCrdIjB9pMht8W0SZSideZ1cpiXqteqoLm\ncDwY\r\n=rSGi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEBAnklPeQWQcoVURmVWKnfQTFgu0EpJagPNV1LHFdyMAiEA8nHPKfL7XUmZD7RbC0aOMllKmdzH2dOC8ccn/y3vQrI="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5ee0744_1598558023970_0.9053608359847172"},"_hasShrinkwrap":false},"0.0.0-c5ed225":{"name":"formio-sfds","version":"0.0.0-c5ed225","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"68c364a3be864e6be8fbb76cac3ef2c2a6559b79","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c5ed225","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Hc4JEDLTgVT4Tw8QxCR6uwN1E3lnl3ew3Bkxemrf+cHx9sJHPNdaAi3U+jSDXUBCq6Ms2SkpfMOdpaUBHtZNUA==","shasum":"8f2aa771502b2cfda7cf3759c3f5a769954b1754","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c5ed225.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSBBoCRA9TVsSAnZWagAArhQP/R4kwOuU1PyECRASdy1A\n3su3NOJkQzMr6lYkGpKLiSMdlhCtfXLYo3h7AjPdd/v9NP85m+zf6Zs9ySk7\nUB2N0akamO5f2cVAbX14ma47ChlCe6fhB7BwHxExRBFbHiUaCOzqwy2DdXAY\n7sM3d2JK+2KJ4RfIbO5vqeq4HlWeFC+6GjmHRjL5+cDICor+yI3IjASuWZe4\nB/4uVIB5SrWXlFs11m8OgiF4bymHk+w+4VPWDn+jJ65ELniMP6Va4I9Aq54w\neTHJme1dK71uTvdS2D02Z+gQskMysKdaCR8Jonu9JiDIwmSQeiWkVy3uQDfd\n5eCcsp2TefyB6Yn0gtnuT4v1Xk/OX7izO5Az1SYIccuj2cFNyR5o8oknJLE5\nnguijbgIBB5MKn8dYfsAq3mCx58ekLL3UUaXryR4zwg5Fi5ZhRq/C2xYd79y\nCaN9R+CfnVdRQxjILBKyJ37eTLVuBHClAkW1eVfHrFKBLGP7bHABhjjOhqx7\nsN9cA142mLUa8RJQQNFNtscZJTtunZpuW9h0BVsppcKJlK880HVRC5fio+QS\nOJmoL1YZ0UnaBu9aWvJhQk7oQYkrhxZETTi8JjzhHifRRrolYjfwK4c2i80T\nrkTtHqSi9EpoSxqHT0RwYqNSCmDcV6Wh9dUS+tHRO1fqVWpkSJyqzpBDNaL8\n1OGJ\r\n=GQgD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHpnUFQ8dVCnd14IzQk8z2IVFevisdngjOmWvUeh3aETAiAvfYSQ3SI4sCjL1dZ/xpEWoKdsDSCYF9K+MbolqBRU3g=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c5ed225_1598558312096_0.38829025937336303"},"_hasShrinkwrap":false},"0.0.0-d8f5f71":{"name":"formio-sfds","version":"0.0.0-d8f5f71","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"a9dcf170e2abcd4f3547f11232e641f3a3d21187","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d8f5f71","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-3LFao0WDLTaPBlgV/jFvo3jPyn4miHF4/YxSJiPZ1UAklGYsnzlqBhXZIuAQG1USPoK6eDgupGn+11LVOuRShQ==","shasum":"a89ff3689931ae87485090e7b80abc22410a1ba2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d8f5f71.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSBDACRA9TVsSAnZWagAA6G4P/18yay12IwIBmrZTEF0I\nU5Z4JW+wxLGkOeNz2HbCLogEP6gMpV/QZgiIABimQz4gbFGc2oF7mDFhxOjC\nHGuUJQmuAc+IYxZ50aqb1i7OcIZhe7AC7KlSPMkEb1hJm0qR1nlrjeSk3Rho\n3DvaF9NM4wHMNuWHJdweEjwNFTCTS/JCGzpqymQ7kVuSKLmIodkwd8dTBpa1\nVqZLfBFFee6pcJ4/aSPk9ami7XC8XfObAPE/i45UhEb7GTbJlIYAt5K+HYHD\n7FQvMh75mmrXDdgze8jaf5+iCZ6iSHylgbjtX1Me66K3QgeEiZlAFg61x9b3\nWKC7sNzDJSQAI+hj4Ls+b/Cs+cYGonCgP4uOVZLT5LhlqrZc4RUy2F9PwJwR\nldeuxXhz+idZDk2lhV2hTA3/6IdcyAaL2TdYCVMF3sPoVxHdzGZZfFIRC+vh\nENxUU81HQFmKU0O+giF8KbXBT4UNfbhr5izQyu3qTgpGIJg3K40WJzibsQK0\nwGpP+cAhqlHcNC+LVKYz1qJH+MCnFs/QTuCTWC8j0zkAK4WlIprqu7+ionU+\n7PCd80S8HcOb9bTOshVrV92FwESswqAmew39X3FHd/9nO9svZ7U+nJyeiVmW\nFw4nxEogR6KziVfjUcmILxFMXvQH/7suBIaHqs7nYuZs4EFTiamAauiBBmz0\nofla\r\n=4K4U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDn35+W74ChkA021gO4LTWPS38Oa5bD756S9QPJrHLxKgIhAMlEP/r2JqJWMN57bc4Qugr2o6mE/SYMO3ylCad9e8B1"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d8f5f71_1598558400257_0.9579874853185708"},"_hasShrinkwrap":false},"0.0.0-fcaa0e4":{"name":"formio-sfds","version":"0.0.0-fcaa0e4","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"76fd83e0831ca6c3c9cae67686a4c0097bda4fdd","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-fcaa0e4","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ugJJIoCkbC+wflLWx2lD9tL2fISsXicRAvvQkQU2Zg34V8i67gTVWtOTIjCl8o4muZwREDAmHpviBUWsgzq+WQ==","shasum":"a06a3bb7710b17393d9399fa4201306a67137733","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-fcaa0e4.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSBGUCRA9TVsSAnZWagAA+LsP/13EuktM5YiZo0Y/2Wri\nnR32G2umlsJbL8Dzq5M5M74awmiz9WA6dRiHMf6HpXrS6ALgPJHmA8cngSTB\nodzW1+qAULiZM3TYA9jcTN2pnwk81SL8oIT6GivQ0U1uXtQeAiwVDydZ1hwH\nXQSDYzU/3P0njpiL3IzdbktktmEP3HKSEq9XzhtxenUBL/zFvkXRyDtHVCi6\nOR8kaOM5hWyr5J3GIfun4l5kDyWU4xmWUfFAth1UjqwWAAbtFDGfBcI9ETwl\nfG4wgz3v+Dd2hQpbaum20jp3AZLwV0HATGb9AzVXgKLS3j5cWQ0gH0P9NboL\nSOEID9LUEhgYgPeQuuac2EJQXkyWKP0HtMaVA36W/Si7X/Bd9PmZzHhDPdCd\nstfIcnizRMlGqQpkTkvrBerk9j0ziwHnEB0O4+BVblstKYVEMlCliy41eGbu\n0EkzrBXr0Bbz0bS2y05yJT83OMTJZ+3Uuc5HIfvaIAtQoNmc6B0Zmg0aAVdZ\n5Ngdl5NGfSIKfwIBcu6cVsPjSJvDN6qsB5Imu7qKDsTW2rlBtFOI5SYPLm6B\nAMiJahysZiP1SGcZCKeELx8LpXbkQb0feNQUJ34RdNsFqOFzMTyVRClY3De7\nfQz9D/lDgpZ/XrUmykfh5jmNgoYyantjzzGoqxBV4/VVWsZDLYMZj5B/qN9R\nU5Hw\r\n=Kcq7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+Ctp8ttNAY+VXZEQTzP4xNSrmZD7qjB7cV3ljf1wvGgIhAOaUUAzy4F5JS8UmEfou1hmfKrgnZGPC61sKUgiriu7+"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-fcaa0e4_1598558611775_0.27262814189790174"},"_hasShrinkwrap":false},"0.0.0-2d0760a":{"name":"formio-sfds","version":"0.0.0-2d0760a","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"26ed42bba5a4cae696154da5ee37a6f5f4d4f1e4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2d0760a","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Q83MfcTE0p9n4zU0/RTQi0dxFc/bfSZtNXh2GCaBjugCgb3DE0Uwb4DjR7Tx/51hqDWSHNkCRuvL+UHnNDAfZQ==","shasum":"b153bc9d10c044ffb18da3e104ac81681ee979b9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2d0760a.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSBHzCRA9TVsSAnZWagAAWJ0QAIud6t2onzMAkTbwJ1Do\n4HcaLIg6ZYtbngNF6Uq60afmYvGtrS9r73e0XxMZmPXPlsYyS37t63histSz\n+kM91yx1EfRiJKkGlQNAlOsor3rHyOS/KlN0ca1/cwh8iW5GzwSzwIDQBmkq\njrwXGkYtTI231HUnbt8A89g+GXr0L6zgH4gbX+9SWl8FhgNm+mjiKq2EYdYd\nmo2sHun1t7QouSCsJrXRRk6+QB7JjVoy63XHQolb6o1tyLvfx7ON/e4bOA7z\nC4us/WwL82XYkX+667rz3Sn2jr/Y2juXyoQPe9z7H+50MpnUBE+iUoUml9lq\ndBam6IQMG8+ozKCaU/SNGXnJTliSSVHidEeENzJXKXs4LIzoglShuB5fQX53\nsv9sYZV9dnEbHvGFqLZauT5uoIocx2+Bm0seMcdch4RBUvQ0wpPNwjm4GhZv\nJGfhlXw/sjgYhpQi/TpVQazb+gEcDc4B3QMqtVQe34ksISdMsm2qT/eUTZCN\nyIWHxF5/646lC1S+9gKhtJ09O+2zJnEKpICBnC1hH8YCXJyVgdGpFdPZqt3u\nenAbmeQpLZ6hSBtZ2oUKvB2MW0JClVK3tz3RtDH1x1hb/hwXUJkIqH2sG7GV\nebBXqvSaCbmPlGexwED1bHHMYPc/Y5JrL3hyBoLLW3uD3HkfG4vJD0sAjm8M\nFQ+3\r\n=JGJM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDydpw2l11v3B8teLY63Gql1MqxX/LgeZgVFtTpmwyIMAIhAIHZq765fyUzZYvqT2JlUgQKuuFx42G3qbmWE74OHSvB"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2d0760a_1598558707186_0.6627177858268414"},"_hasShrinkwrap":false},"0.0.0-f75654f":{"name":"formio-sfds","version":"0.0.0-f75654f","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"7e77da28efcae789588b3887c8fdf54d55cc6fb1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f75654f","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-0ePj3464TgIg4aJdZ4pJeS6+UzNv4dFoCOMG+Xq+70J3iW4M1VqL7nbMPraRRGpuXIyZm3taBoRdFgtpyICh2Q==","shasum":"374e000ae1f8fd32aa592e77288d4d18e5536110","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f75654f.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSBMfCRA9TVsSAnZWagAAHyIP/1Xv9FaBwx34fWXxWPwK\nijBdGBIwP3Wfb1P2zCS6KcnVBRRk+HuZiKUoY00zAerWdyLE53kPfWSkfpDi\nSn3qxh57lWx4jlNDB9wlG3gz/eRZMgpXXYqeDebFLpyaCwSLjRFw9tBu4Vdm\nNHhw48DEtXCplqJIT3hqcOlCjGT1QI0bdaPA0iPEIGsdEw+GN8HUU5FxhojG\n1bZ7wW62B5HO+VUJwUzXpIL3mnIxkyPmhfTBvO812w3prUZeE1rsb6Bg6Or3\nmRG/LaJinkGsc84jd0PQoDrvjCF+nE05iYFLz83on6mUQikvMVnTwuKTN4Cx\nHxREMmj2OMn69feq/R4Dl/5NLl0VzY/Tv8j5qWfxFoU+jAOI1rYtb+UuL1DX\nAXwweIFtuTSoj3nJg0O55DBtPm1XUclDD2+vW1ZeRX6OGT3HuJs8qtbFIGdG\nL6eKAM8rMshFe96b175dwSiOb6CyCa40q3sMHP4e4axoN3StgAQLtukuMDgM\nlnORdVXT2G4LWIkWlnfe8/O0e6oUdgqtnGCXI/ckHVns0PVKi4nancj5XXVV\nscluL8BtnLZWqCZd1JQkUwS90VObfA24FB8+6ZHIfny7qtQops0V7jujVmR3\nnwoQrdCCRSV6mE9Kwxa0w4k3jbJFtRzZ6a9apC3FKZ5nAfgTBsnbVVL99BOl\noNXi\r\n=F1sv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdcC6Z9SC0YgSHvaAWaizoV1h0Mz9yRJ7ZvtXzYLzgZQIgdr/79TrNOcQVSRA7+QYSZCDI/YJghMjwEM2V9sEvEpo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f75654f_1598559006720_0.369794746373737"},"_hasShrinkwrap":false},"0.0.0-bc6f041":{"name":"formio-sfds","version":"0.0.0-bc6f041","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"f5288cb81c2a0c66e51fc5d7e3a04f2d751c9e4d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-bc6f041","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-szJG38SLPaIS56OpMBEd6Mt2yrj+j6KhAOK1wDOu67L6xOzZYccUqgGIQER4PnCKWaxOlDuBQVRdt2sQrySDdA==","shasum":"00f15b9c48c0c0fd40d462bc3f55abe121edbd43","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-bc6f041.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSBRbCRA9TVsSAnZWagAAkb0QAIeGzNzD9HmNpNZgTngK\nT4BviA2q3lp3QwXpnrNCZUU1xIuTS2H70N8j+XJ+fb2XCm4UYyxt82tli6ki\nMKNosv7ijjS2kU9RUPoH0Hq6WxXT5hysfCjEEuDLYVQzKghEB6By3YeYoAak\ngJ2VnqNGXan6k9G3lDAb4Cyh7OGuGefVVv+cOH/89JRHt6PRQfZRRrULvTu7\nl3TQhhkTJLuteyoZM0hE7gzLWAM4AnSUSczIrKXrtdZ2BSO6UWp5NCAJeagV\n19Hi3RYRw4eXIthGWWw4HP/jXUPu61lYzVaMPruIcvaFjbCOmej428xsP5JD\nP+aHaV1abAUhfp2BuclOFeSEozmANdeB+bxBdFubboyzgHJsiHjkwc4Vaeie\nf/ZvPEqfJH8cKeKjhQ41KdB/U07cO9wTgLIce0lVMGBQj6jenOmlv8fXNOIB\ncUZqYKq6SwhGNiDvHMlkS7zb7OxMLqKQ9tNxyXe2lUXhfhLF/PI90bOJ0Wcm\nm6hM8ag61z0LXpJBHgpwfnrUduRPuv6sn736L5qrbA8iDNYqK4tYwgxmaQJy\n42gpxQ52/jhABDhL4LMFa9D+EENeZTpEFlR5w5fZZEM207rgCal7INOw4Y9S\nX+e68DLs/6V9eM6n0WFYaHEILTu0iimOF0WSk1l1UoNHq+wuy6rfbhYvkHjJ\nhrmr\r\n=BRPd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1M/QZ/P69UiG5qiPHuym7TK0fTJ6ir90LyYmcSWRyewIhAJy9E7Jp47avYH6jslwbI4UqKvlGiBfAx+Nmp3Ys+mO0"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-bc6f041_1598559323227_0.8162301510291692"},"_hasShrinkwrap":false},"0.0.0-fc4e4cd":{"name":"formio-sfds","version":"0.0.0-fc4e4cd","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"344763bc6e8c8db7be77b6ddc3afa44296bcf7d8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-fc4e4cd","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-P01Kh38pR+0T74KYNUh0qx18brAn7n46RQJ8SX+idLcCtDW7oBTdQ9FCuxsC+bOEMEh9q3URwCiZOBH3m3O+Fg==","shasum":"288259a0fb44a4dd580997ffb6e1f29b4aea9b39","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-fc4e4cd.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSBWoCRA9TVsSAnZWagAAYSkP/RRmqdkfXRI2OQXzWnZ9\nJQemL2dLgFhTqXcZyJgQ0toJsXL5vQl2EACMR6YOrgRciWIN3bIUgfaV90HN\no8WMXp3esE5vBZVbF2Xj6PzyrlhViMBFzFFHaR6O7AmycijwAPiaaxhF/kYu\nVVQdtNM7lW+KLasx12ZUJ5Hg0qty2h6KEcV2FijBO8f0+RGvdaCZDbfZVPAC\n5MbAbWELtBSOiFphxoKsJRCPu+W82yrf7aHeAzIFEc05tQuB2rEXRTevGNQP\nsaSMhAyfLKFVWL5fS7tSISmZXxxZC7Pha51fJCaF7vkfI+NJTHvRc6fbDSw5\nNXwydFRa2sU3pvB73I4BPOe57++69W6YNkV3cVhtZY0zysSNaNE6w9XLNSOg\nZbc1Yyd6fYioKRuRnMAqy9F8p1mt5PPaG7VIS8vDPgVMNGTx4HG4R/ZOamoA\nnNmMZM+ImJhFJMzm/J6u0J5DuFrI6y6gKMr6brJUjQJw65NwQYlf/x+HPQE7\nuXFW1+VyZUGwBlh2jpfuujtdtjvkqKk8gm/mlJQpCv50HUaAspteyCVlqpsL\nyMSE+VBQiWTinlQm4SlRtCanAQnNWufk44SavKc5AuBZbJU9gTZ3dcfT8u+2\nUl6/hyXXntj5LJHp0VVrROfP0vSJm+glUcFgMHWL8AyLM6wNxxw+o27jVEn1\nSWg2\r\n=5hmx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDeo+nqrqsz7QzXClqFNCiIEh83duDo0SSYa7XXJsFHGQIhAJagFoD6ljhKeXY2LtmptjaLIifhlu9A+tLODrfNyLwf"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-fc4e4cd_1598559656354_0.41924167056841477"},"_hasShrinkwrap":false},"0.0.0-daf3296":{"name":"formio-sfds","version":"0.0.0-daf3296","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"14ff74cc8d806db506ddae1baa8e7df1becb5e8b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-daf3296","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-+bUaRWhp/ipdmJSkvrTtzIeN9/kfcZP8p2D/7kKaUthjVhdgVpdnT6bMbB7bD72KdBu/v3whQqsg6vNyGBw4nQ==","shasum":"1bc85742f4ad169ee42a052009607a7cbb979adb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-daf3296.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSBYOCRA9TVsSAnZWagAA70QP/3xkAh2ztM5sM2LZ8L5H\n7EhAKR/xNMMNWWCagoXFf3GuriWn2kJAknJ1C91LCIRPI+k0fWMfY6vQ00aP\nn99Me3nyh+gvosdOvo0qsZBvwHS1JnTbC348U5ddeRF5HlvPUtqCVEjJFB36\nIbC7uRh2hS+pDFkFQAYnUvWSZMgiu7JJZaAY9qYcLQsJhGxCVjaBVlxN/yKg\nZQ3RtlsyR4zIGx32zEXc/D/RUa+o5JQsoxpg7UzkNehOGV8nwWO1WB3gQHzL\nO/xQQDnNtyVrgQjk+CDv/W9OPamKcGxITv5Djk8mQ419H+h6Ft8ok2g1QtwG\n3YIXBjqn9cOlBMvKsuc9ylT7kdfU/CIMMprlbmDg6WPTBEsNkY23MydaUO2s\n650CiORqmsT4MzQFEdetBCBijSNdXWZgsGsMmgc0dOxZEr/Xe4+ZToGdfAXa\nRVhfSDfLOOjWdfh0JiaSbFpODRV6+/eNUaa840mMXTu22/QJHzEs9zn8W1xF\nr6JkKZreCP4DmOaAU02rScpd8dYH0hstHpXyhY4q406QgtxGI3ogW95gAxms\nod0jxpnJQ1idB6w1e97VS3ZuR2pfQVS6Vj24j21R1PmhyOLvTl72CfhmDya9\nb/dY7ME/wGoXJo0IJwsmnllS3RcIsj6LR8azrkXx/VR16jtSN0DxtyJ8H75P\nO0tn\r\n=JWtR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbMCTmf6oyjYu5rBFALYCtTk/q1L9O89FmwfvDD4j0QQIgHCv+TRMhOiVbVsP1ma8R+tadDxhUWeQX+ujUtTJms3E="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-daf3296_1598559758379_0.170160236970609"},"_hasShrinkwrap":false},"0.0.0-1dbe4f2":{"name":"formio-sfds","version":"0.0.0-1dbe4f2","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"42b0d4e1d39ce785a89b043857983547df7feb87","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1dbe4f2","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-d3DKfq7EmFHRpObDftAh75/TrbmVbH6/HXkeK2+iwmQX4vm+b8jck57WnPsv8RNfXEmDJpztJWE4xS7ySu6njg==","shasum":"d5bd7eb456568ed6e44ee40a5cf7e139c7c7c7e7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1dbe4f2.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSBbzCRA9TVsSAnZWagAAHAYP/A7B2NXTm89f4TC+81MR\n+PW7KeI0NyQsxpOpbXQmMxxQsi++SAjSOdcoO7F9TZOVc1RqiMh/PctxWFXa\neGAXGIX8JnFuHIP0apv8PJh1pkyrLkG/wZUKgQszOI8TzMMgt0tuZ0WHNHLy\nMXaohKmcleklYymHyhBUYNsLOLJKMzMhArGnDluip4x9xeLqqMgPRB3eZXfj\nTRmgekFxQiMN+9qTrG3YMZT97c7Tk7npgYBPILjuFbpksd1cTvNoxgFPz95+\nyUlYtojvyzN9dMqYIe0vhclODYif82v/yIc+BR9NVQpyttP1fQ+GPvFTV+i6\nlMpyOOXwDKIFsTYwl3mvtR9++Zuq/BaTo56/h3K+H8q8By1etqgUtgbCQMhz\nj+gPmGx1NRgJFLO77EIhXNdKuUYxxpvY8NKhbPm/IOsgxcmCW5WQjA7WEbjW\nwtSISzOu5TG1KZhX1p4rQdBFJAstbbuRXaa9c/COSxBh47rWztaN7zBxu7Mj\nVnulRf/47PHlfZOnXzoVtZnsgc27M06P+WV6dKlY6fNPV5Wu8qQSVPPmWWka\no2d8Xk3aC7S8x8nEjwgv+f9Rje1/lPR/AxHtSxPm3ICP+fM7L7/H5C+KnYWu\nBPIBSsbEwDfKavFHKQhAtIMRbQcTy5KVOjDpCgQSuTCnH5yAw6rmn9w2Daku\nFAAM\r\n=sWMx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD7jGFONo5jjMUjoZGGp4IphtKHa6UBgOMpJvDvpkm/mwIhAMmVylKaPKQu5M7bMw7UDHqOjfPc7uVTJR3kFDyM1EqH"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1dbe4f2_1598559987502_0.8165990669103869"},"_hasShrinkwrap":false},"0.0.0-fa5fb74":{"name":"formio-sfds","version":"0.0.0-fa5fb74","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"ae7210aba9389d27da56ebc91b67650a984006c0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-fa5fb74","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-WULdhTXcnZPBMgyLJgGME14F5Fw6+NtLWVixq88f1KssWKCNvUGngXMvfuoBzdXXcGxpXCFFPSdP8ujVLF75cw==","shasum":"19b0692db02df8cd5d6fc133173a0d86df3127bd","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-fa5fb74.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSBfGCRA9TVsSAnZWagAAgY4P/R/5LqeSKWxw/Hr7Pvky\n62Eo2a+PrydB1EogS62ynZ7VHVq/irG61vt6W7n8GwWF3F9I4bx+4US9elma\noBrLd8/7sIaCLt8lhjZn1mYHbPzxe5oF87XKSx7HjmbQbYhFMxk0gRrDKYed\n88HqeoDeog+fyrlH9bMrETRGynWsHusdp5hTtOfoXnov4HvTpEhrbH3SzqVu\nGlsJ2v40Sxl6Z7YayKKw8jQIfOBl7AwdLRuAC0zIpB4vESwuhzqZcs00VcqB\ngKYfoXxLyZD4ZO8aYxsyKUyI/x3UvxDWTbqR+k1ZQpcWOW370857Maj3TBcY\nhkQ9p0FwEER1EL6gHBbBZ/L+LB2zhyGCvcOxzrRt1XLIzmaChglbmv6wF/Hi\nQxDO66J/vCcvDfXlVIWDPcMefL5YLBim1YDX3+vf8QxlX+K1zZMzxz6jEVes\nchePFcvrLwfgavtwEVzlv5KwCqP7VQkKNgHrBpe1lHJFth1bCexFmPa7laXe\n3Cq5a7cBumjfnBj3/6An0rRNO2M0S2s6DcBG7ta/FTNZE/QR8aez1JlUJIRE\nr5bwQQdrhDjl7EYlYGSF8ilPhvX030BlHTXGzUoaWHmjZhpijhhKAc8v1ZBi\nK0GCqawNz3GDdrfmj4lxH4jfbmzPWzrLTxH+m+RvTwoEAcD1vbHkiYIREsAz\nX4OM\r\n=gAzV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDR+vq7q6FZR8KB9W/C8dg+YYl680N/hp7HNB2YJIXsHgIgKGpvT7/DkWTgCYdqoqqzYwZHfHYpa6SO2ZwIEjk84C8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-fa5fb74_1598560197873_0.5447393782154002"},"_hasShrinkwrap":false},"0.0.0-d829a18":{"name":"formio-sfds","version":"0.0.0-d829a18","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"88195bf120764f4ca1ef4300a0dd3473d392b11e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d829a18","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-3A4SeKPgyx7QD5D23FOCDO7Mb3VQIssG35/KhUxdRR5EFMde0yN0E+VoXlkogij8aG/5WBEYRTVl12ou/jorjQ==","shasum":"7834d7c81624a036fdeeb52743c5708c5e7f80ce","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d829a18.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSBgMCRA9TVsSAnZWagAA5yoP/14F7p+exNii0TYFIB8Q\nKw0nwqWWK7Du0aLVUbATiLMdt8Il1MHS31DUVBTwwpEuC5GDvyxqEEL1KKgz\nTpLaPwtvlZpCH3QTKoLT4XtoVhNaF/bjIWnQeUZqdMvE2goSeg8dm2jGjcB4\nxeww+xKs23wZO3pEnnsDDfYpnons0FAvexo9u62eyzN8eiLKFmzCR+GlSdrO\nvzLc/tCwQLwyd0uxGIfdsoqiYf6M8JKAR8VVH6F+HDbjLNnhSCF0Z4/ft7yM\nFUDr9c0aRqnjk6Itkc2KiaOUlzBSVSSdUDl85dpSUR/t1npglzm3KODLvvPk\nDzZOokrgLCt1BLRCGIOEzOaqStItQx6Kd/WJSkd/pFhmFEz7Wa7eWmPel3qb\nrTZDFVj9SmfuR9V7RcLyuisOtoZRb/Al4FqpChRmKWoos0h0AyEkuKteplJf\nzJ1vQtyVSW8Fmnrn39ig7xc0xKr8AXwP88T+w2FhwiZra7Zz+Nso0fXEXnBW\n7S0WIC2Vyb1HQQk/NRm16GC7E8sAPYvs3vjd72/vNdpTAPsNz6m05gqc0V+5\nIjiQSEBb18xRIFb1zXGMZKg22SP3WqIFA+ffQHn9/Q8HaMdwF0kZAJ74SEOk\nyg86+dHfIBmuc/exuOTOCjM+oIhM2FoP/8H0mkY3y1STNNVX14jhM+aq+5NV\nBx2I\r\n=KTQr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYJahO4CDnhuaxYluu2EeO3w3vAxQypIqdQ/qeSQsijQIgYqxW5/0XrbV7oWXJ0c3YjybW3xQ4x2w6E+hmsl8OLJ8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d829a18_1598560268219_0.06594053939854483"},"_hasShrinkwrap":false},"0.0.0-0054f03":{"name":"formio-sfds","version":"0.0.0-0054f03","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"c3ce6e9b0e546cd8a2b17a6285b6c55e53b7019d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0054f03","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ZbXRd7wbmhcfkVULj0a4UtblPonQ2Vy3tEysHEH39nJCNDQ2mPdY6gTtFFp0dSS5BbUutfr/JtjMjL0285LAkA==","shasum":"7e25ab66ae18009b70eed96852fc6823ed4d174c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0054f03.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSBjMCRA9TVsSAnZWagAAjegP/33TOoMYRw2Jb6ouMgJH\nM/xOuaD36dT7BbF0HdEDW7hnU9mP7n+51gMOBiT5J+kDiK1HzAZ/jwM1B2E/\nFkc2C9/NWiJcbne61N5+SmpMKT/cecnJPBrBSgFDhLKNDpbnERFxQDKr1s21\nR4GVTiHz4yNuj5tw/71owB7N+hKFBVVbD9gIHjfolfrZEEpqmfnnUwCnku+k\nensdNcmuPaR0eoPgIcunRBqu02fgrsqHN/RPUHJ/zEaL2rMNDNl58GeqYfhL\n4uEGYqG/L9H73/Rnl9/9+idBGlEecPJ+FmyLavby1AxODMRtdIQwrHW85q2C\nVOdH5FxaP12Tf5hXS0zfjcVmuQiG1DrSE2PxC1Pgu6LfS6YCTZN5k7UTFxOr\nhSYJO5WGp6JcrdTy1kVxAWw7sXEk4IhfMWV86aXhSj12FfwcNaTaYJnT6J5F\n/D1QxlFKG+O6BvsGBuU7c2CvDc1FF13AZh7cG1op0LJ9SHq68MrYix7kllzb\n54b7UBC8c1t/0la5D0qk2tHnEnt9eMKIhdAZ9pqM4DqTXJaLZSCaZHCifD4n\n8b7Iae2kS0LARWCSwZBlNo6hodWUroauM5SlFELio4+zkyRVqIlPlpdnIm3J\nkTabZXVcAgzBgxRFxVCwjQVNYxcUt1oBWRkAEPlxGmUupylt98K7aPOrMxJ5\nZnoV\r\n=VL8V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBguDyeE6hzUtf5zD6cAYS8dk6cp/RJqSQEY1A3JXekpAiEAkaub9ySa+k4geS2ftayymlsC/N5k+tC4B+cJmB56WRk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0054f03_1598560459688_0.6151486417275156"},"_hasShrinkwrap":false},"0.0.0-1d5bd33":{"name":"formio-sfds","version":"0.0.0-1d5bd33","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"fa07ee1502bc31ebde92dc1d91e172ed0160412e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1d5bd33","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-+XpUCsp0AWHPGhEXfXa411piqr/29Rmtkdjitlb3alqEX8HglcpnzznK9eu20U9vi6VeAkRrXXMTh9vpJ2+uRA==","shasum":"d97d1c89c10c0b6af66bf1fd01c602c8fb4e1968","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1d5bd33.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSB0RCRA9TVsSAnZWagAA/5EQAI8RktggiWjB/a6dUKbH\nZome8TSIpXgAH/NyeCZMYJiqp4zXTIQABSKxkUoTl6DOlEHBbwWrVmVjNDz+\niT0UKYEBQrsdsRSj22PuGj7poXYDUicfAhs39Ws/mKemwZBaCLHuw++iieND\nomtS475Ym4DTx6835SisGNPBpivkk9WH/DMJk2L1Uf284X8WytvCBx7CeJHK\nuQidMzEpm5b6os3XQZn/oyJXg93vp/IXvZG+zISsA/U5Xijre8UpPI+x8BXj\nM1uZNh6W3v8sNLn6ThDbBS8TFjTiekoTuqCQP4fajnKGRG+yawUrSmZNExR5\n0RbZfW+fL44MVcLjXMSBI+TKo9WsTtAI+5+UlmnDUA7bp/SDH1Y6uEhwWi0V\n75OlpvocxyzVmZb3oDHS2BzuesACIOxSwnldrha4nddM91+STVNKL6FJVx7e\n9Jf89BstXHzlJlmrADCWoy9RknXXHrJS5WX+Aadvd0qJjf+RLbSq9GRvBCWK\nTjQfWlatsC8vZZeeUJfA8Y7D8DHEIC3u5BriYBm6qpsnYHFSSdk1MEnZNYM2\n25j5dY/c/Tpr8BsUAt6N0zEJRBQc93mdZpslHSY4dvKpLsqw2QJFXePCXFE2\nyjeCMQEyhEaflpe0eilwvTyi20ws5X9TKlGAzwSEPd/ZKUl3C07Hs2ksjMfk\nHapO\r\n=58uR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSSyH1vnY60+H7ILgAoFYkwV3ndUUKOSstRo5XV8OFkAIhANPnOuV2Qb6v2PM0bwM92RlnlvzSgihn0o/ashCynX2p"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1d5bd33_1598561552663_0.6998111113782481"},"_hasShrinkwrap":false},"0.0.0-1b191ed":{"name":"formio-sfds","version":"0.0.0-1b191ed","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"188a2f20a027cfa139812ac812a26e862e1b96af","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1b191ed","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ixCl0NrWmQgyQQtSC7x5/2HRMeYUgrFNFURtjA6os+L7+TzsFR4Iq+tT2ny+LVq4XwjZSBGUr12+CvVySowvFQ==","shasum":"0c03fc76d923d2134d83a9a2f9225417ec1b994c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1b191ed.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSB2XCRA9TVsSAnZWagAAarsP/Azqfb3RM2fhXGgxCG72\nNjXiM8Fjc5UnJEBlb1OyXZcSsLYwmuVhBNDBUjT3ZmLhXmq44M8bFiNOW90e\nUN+gJ8bMeEVeoN1oWKQ0Q6NOZzz0eVlV9n1kBVQIUkgBn3xaS5u2pM7dpDlZ\n+xC+aTJt5AiskI1234Om1I+JqNN0sEAvKGBy5SCy2gEwQL3oYmLHLEFK3ImF\nUjQrvLhr9mLEkwnfd0+y/fKuao3tSfj3IBz4J8HiC8bwuGSzm1qyOhLHvJBt\nUn6tz7NEAXrZSqd05VHFVfOZMHIrg4szPCAOykRfxSDUQXXF2R482EAwmRYL\nSm515r0QQc0cGJmH7RZmoZPAtKPi+Hu04fddpEE4J+7cZsTKdnlfBdY3QAZo\n6ErH8oj82jpFWZJjGMxxQhdQ51pgNGncWHKpNlUpgsW5IMV5N/1sfAIcyg3M\nPCyicRT+VoRHM+vMsBCuFgKpA9B4cSzR/vXjve6rJujJo69e872uS1hisjzZ\nKI97qkjKie5HjdpewEJorF68qqucH9AkXgR9/WN4cUhC6grMOrpBvzqD4MgB\nn1y3A06+cifMqtZBG6SAIDC+S6InNxH0CtfV+B7satyNLG51iGPfAWmwf/MK\ntidItVBj+4QzcTXJcZYnqE0atgR/TQnuRhqTpHE5kQMqgOIDIfffhcozhMaW\nuwd0\r\n=W7a8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/Z31AhAan3V5I+4xW05OhExiKWuKsQ9lcGuGDEpriXQIgV7WiRRcAG6/jK7f77ldqEy/ww4XAZG3XklwKfa440QE="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1b191ed_1598561686810_0.05892513694405155"},"_hasShrinkwrap":false},"0.0.0-1aa0dea":{"name":"formio-sfds","version":"0.0.0-1aa0dea","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"ac25629d4c5bfd2bb1f2fe627e11665d03eb541b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1aa0dea","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-RYcdrnUonJQ7IwDfSdN1+5mGd9Nb5WN1C/a8A5pHnYcy+bUotpNQBX2eIlaPqax7lw0AaLiaWqCbA2xwtAdGQg==","shasum":"a8919c2ebc07ffe8eca0d6431df84ac6aecd6bc5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1aa0dea.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSB4dCRA9TVsSAnZWagAAX1IP/inOM0hYK+IfqNhiFRxR\n7ucfZN4lE0SRRwhi2X+JczYNKJ/Z9s6oGJAVQMzLPJQKZ+s060nKEa2kah0D\nFr3alwHEqpLQIS7ekzZ/4GBxoGHj35g0yeIBN/O1GMqf90hJjoY+PmPb2kLe\nHQoxRtZvVJgKYJbLCRl2Al3P03Q//HrwgiLH3GShMAITUpYDxzfvQyDnyaWC\nhVu18UzM8JRa7jQywtVeUfmBq2Sh7PVE1I23lOoQ0D63fSwLAbBOlJo1ap3B\n5e1B1FDluWTGIAhaH4wcz+sQnBpacI3nyd87DLtENxil0kqoWV+4g0nI4zvn\nn1nXKBTEwj8WmI3XTN+Y5HkJSuD0LVIELOePF/e8ogaOMS+C5qLrW0M2JgOF\n7UKFk9fSBEj6ISfncgrG8k510L5Y0Io+CusmrdQxv3MEa4JrFdhsOaIi65e0\nV/1oid0ras0pNXVRKkN4GERsPLyKwkzmdzvbFl9JdZ0zaKhcVOS3zoYjpc3y\nR2YAyVX06lJT1LyRUdhNSAHQd29bQQvisgdQB+xCxQdUIm7wfbrOtKh+8XH2\nNDm1ZMXfMUDiDME11LJIypm/073/n4gNZxf2164Bh2CrjdgkJpTW0aSypcOj\nwWRhWXNGfMgR55zplUWZo/8FTcK79Do4vgQkXlUmb18HSngzUbc5AVRxvEUD\nP37R\r\n=ItF5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB3cZJ/vmD5KszpBkWNHPX0L5Kd3DmpQfN8ir/mpLuocAiBldDOY3vnRrQHoUmUkw+sJPPHSnLtHAxf1swcSaEmpeA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1aa0dea_1598561820744_0.6605303320472156"},"_hasShrinkwrap":false},"0.0.0-58efa63":{"name":"formio-sfds","version":"0.0.0-58efa63","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"30e41134880de2c0acdd60f75ba1f168c6171fb3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-58efa63","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-pBM3zdYs1oD0z6L7ySoYQh3vcganHx7fezZyEZ8TB4l5XK54QgHVpBufVOJ1tAiOCKX3Y5juSNMrOxuyDpbPYg==","shasum":"ebc22e845825eb1489e92d72e9b5e62a2fbb21d4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-58efa63.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSCHdCRA9TVsSAnZWagAAagkQAJjvopxbZFTUDqjyqXSa\n1qhbOQenjpGL3Bh1L4VqqLskogMMPyEjzXvReFJp4OsDOJFNIhc8YZt/fkgp\nqs8mNpZXw2xLocDPTBm4GzsTxi1J0Yke/xZBHa24+ARJyLqTGGqNWcqT+mxg\ntC8pXmYbpo8ijavZiLq/QmeGsAroSbqkgSac53V9jtBWNJztYA8c7LtZTUYv\nUN0gqmzyxVhKFGAoH4qGE3lMCzuGLrl7gq8j9SuZvlGsbrxPwN/5JOsRSldZ\nZGz73UdolCGTYuBXOCnUw9b2Nr+ERfHDXhjqpJ1ML8wYFE7IAtM2F6+PwEig\nElqNpCGUV5RyRZDAyymKST477sMygCqhbRSOjx3XIpUBLP8cO1rlBmciDCLJ\nGG3qNkc0iC1b5byl7wjf/YwjWg5kSoXwg+q//ZHpSmcYN0oSl42wlFKfqQPM\njU7Q89+18ZQ0GRAvdMKq/kKTYM2UdjEsKV7Smni03Ca+ahzf0+PO3d8pce1w\nZdfF5/vjlOoisAH/kRTmbANXDCvf9BRP0uBkW9wrAlweS2kWgWKWnvco7raG\nCuApgpdGcXjNA0EeFNCRiuPVlEpLjSsVW5m4oVGk/zydsMXa//NwV47hANgE\ntDnIJ2RMoMb3kACp1i/Bpu2AzMs6UOshVdrL8oWdnefHlqNtLINp+xLpToK1\nTqK6\r\n=U2Dx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJ4U0cf1OihI+auiUwoI1FyyWXShGl6Tt/mkyOYDrYAQIhAOV/DPhkvYbzTCC9NqOST6tguwGCN2OfAJOdErFwuEBR"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-58efa63_1598562780714_0.45543288220446776"},"_hasShrinkwrap":false},"0.0.0-a44259e":{"name":"formio-sfds","version":"0.0.0-a44259e","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"d472b1e85dd009e07747dd3a25533ecc2ed5ed51","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a44259e","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-NHEgBVHvDiWnVsXYMkMlUS9EXCtcMEHNiyXy7ZfyVXQupeyVKwmpGSyvEgfQPRRndQXfHittmrtjPDCu4xmFXA==","shasum":"62d82ad69605f8d139c3b45e79bd8543d06c7019","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a44259e.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSCIvCRA9TVsSAnZWagAARtgP/RGLhAIKhaAvXhtIrUWN\nlMnm3umm3tvHB1YVCdcEqI2+8ZZqw0YIEBn++pRbDr9R/xD+TsT74EbZv3AN\nxu4TMcBI93/BFozETez6YcqGo+fIpBZbh9EQFb4CmDg/ImJEr/To2hKFtgtb\nqQW4YtAOzCkYXZ674+3o2BftSk0aoobHu1tXqhb0QR6KuhYWreU3i/84xgm0\nOZBjCEBQZP2RkV+dDYKJUfoCR5ejv7wQhEP5ddJNnuzfkBNbehznPKss5Dal\nDvIYiBVJpWKxLUwqUFRhq/VCoJ/J2dYzHq6Yj4azIz88zEMQYaYzAkSjUvte\nYUvIRXetWLSsMJzBfXj9IK8v14RsvJezS5YANjXoszlsw80FYXPgbIDEuj7g\nTNITH6/CqxB0+Q08WcaPKwz/ZvzgyChpw0VThDWYQqKjaVKnkJ8qqHbDkLr2\nhSM76Fej2NGDG5ap+KuFlRA+sHBshotBQnvm1CIINuqHkH4do5ZDOznQXcNL\nS75EPYghM47jE1GmMNhmQ8lNJvDDgIG/MVsbclNcvi/Tq3cgBeft5NSRoJAZ\ntRaGLUYy24kmOPoBRUCq7gNwh2ZyKc92w4CPZ/wggccrPx4BEoiWNFZHYify\nUJFVpQW2VT9ZuXYod7BocFD9llEcFjoo1MJDkIRQyA7MxU3kb2xToqZ19Rw+\nw9Ie\r\n=uzh2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGJzM9GXLHhXSufBRZEb8CaMsWHLaIiun5yBfWfFTn3EAiEA/bka2UgPZzI66tDbs1wIm7O301WsM23ioeou7+CgIvM="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a44259e_1598562862446_0.8143159034184151"},"_hasShrinkwrap":false},"0.0.0-c0c492e":{"name":"formio-sfds","version":"0.0.0-c0c492e","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"417ef8565cf48d915bc2627c1717caa0fd494b9e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c0c492e","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ar0FFA48kTR6PfmyFPPjE+pJ5d6DwxlvrLohB8gZnwQ9cSh4UZLtFkW6vc8eQIP1GduJqwatzUTHxRlR/Yhi5g==","shasum":"b519e8033cc7a861cc27156fa7144c9fadb65adf","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c0c492e.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSDY2CRA9TVsSAnZWagAAMN4P/R762XfZ8aTJxmfCH7cx\nUFnHQPNw7wTnsoSSw3GEx2b0U4yPiFJhHKNiE5Y1eL4zCG+7YUCYsayrLR1D\npxh17AgZMhvPCy4Q5vyoH8Dqprh7WDs5yv6BnqhhTqY3NPbtpC+2ntTh5sJV\n77zcVAOQ+ZsMJEn+bj6FVjXihhtnZLzEUt/u2mgW+qDfmuPoXsj2AwjVru2t\nHEL29ziwfXWxlkFo9CjG8hdXbFgjmDs7QK6sLLAY0iOtr3a+nWHkbvKenrcD\nENPb9Jh0nJy55FLTBIf7VMghgYg2G8gTt+VcT6dx3gP8cOgF9Hy6tdIq5nW/\n0TEU1zW/WxAAYX+7fwe95RG2pLq8c3ClORKOi9VwdGI4XVKso1doB5nMmBsA\nBQHEewY6iD8mc0S9BV1oQxEtFBIsM4Hu5bjAE2g+47DjAOokd6Cb0tQl2V/4\nblAa1/vD5X97LonCiagE1jJB6GDVylGQWeC1Ral5kSMjvx6kIHAnTpTQmS7P\ndHU4OZUvTeizeEj2sFnZkDSp1UbOMXdA2nQNHYRFn1WtmWTF57LIuRRuOl8M\nTgjPiGmHtjXzalBmfmLCn4E8y/H7kqYYwBkb5gGLIUP8sYl56RFGUyPrr7Wr\nbI1ZmUgiVaNDRUzXbdpbTc0HB7WvTSNCiqug7iwtnvxn8lTMOVHd6Ys4ymtE\nsS2M\r\n=3I5p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHYYPtIEK/m7S2lRAJR9mQKdmqsyW/mHzzxdS88AMz9WAiBiqXqHktlwaI7LxiMLRad7VitOsGduIWTtfd4DsNuifw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c0c492e_1598567990206_0.7246912172695488"},"_hasShrinkwrap":false},"0.0.0-46f59c2":{"name":"formio-sfds","version":"0.0.0-46f59c2","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"c5133ab38a347a106442269ad0fc3f31b59e7c95","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-46f59c2","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-2Xq7yRqsVxA2zSBu5JjwJ4t5g0tbJlMeCWeey/yJe8DWkrxQTN8tXq31J06VG2bDVQZUzd1p3wvhGMFKn93eLA==","shasum":"7117b152211cb6c1fc58da66f9d8a720daf95228","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-46f59c2.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSDawCRA9TVsSAnZWagAAspgP/2RIQTwWkTHEtaPAOAhy\njfjqkkkzs0FOq1H2KsQVVMWoEOOeqhkslGCDnTpQF/mcVFu/EVZaOkDxW/a6\n1yJXrRm98ghYWxWw5f4bDZYrXSsdOI5upefPXpl68tpVJ+boCvL2YYPjKtPL\nYpv+Fgx485P5j6jPLgTmDVnFk6cWQ6N6dxPrp/oZyvthGCQF1ECHmcRtgENj\npFEmHov2+4s92K4Lcji8XQ6YGG/be1lscaAeuRkSDCS3cAZfGa9V/Q1LKMNH\nyDVbUlV5tzkI86MYXfCJc+OdeCczZPC2WR2WnxbKzzNL+rctsTb3tbS8wHNP\n0ZgpKBxy3vYtW2EhQ+vSa4ZxkEOvGCDlxp/SfkIKy1iAwx4IcbFIHPCgEf7i\nr7ey/3dmZ+DWlifaZa5SRNZeF9MmbwEkTaacaRoYL5/jsbcSEFQI66FzmuMM\nYNtJvVbm1JwE03hEdyXznrFtHg8Cxg7iQ+FUMXWTUGq78xFNKR8e6AncIyT5\n8aOOxq8nMhvXE0LPINMb7fKxY+lzntrxOx+fztlikS3AXdpJ5mvs37WR2O5g\nuXtCAgCcefHLBG9glIh2iUjFGlax39mpu1C/564p15qEjmVGcxCsKRWfa02q\nInZr3Y/i7rnidDWnySTS3ltr7Ml1p4EX3IzbT4luPKIuiVrkKZZGVNUxRmNn\nErlS\r\n=qkfp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCI9+B3HtidkJQ2ZmVTfnXxEWNFFbtGVJxWEY33XqYzkgIgbVjhV8uwbhxoj5ZSe6Ohm4MA0rfbqqkaY0wGPMAtbbU="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-46f59c2_1598568112366_0.9277386146173421"},"_hasShrinkwrap":false},"0.0.0-6eb65ee":{"name":"formio-sfds","version":"0.0.0-6eb65ee","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"f94e9c923608d4b54308aeb07d8e9cbec6dba507","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-6eb65ee","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ST/la64PQ9FeQ8GD9zLJfeQ1TDc1ExXIGYINt7FD+eUi3jrinkTGFiKPCvGF5WqjPbSgynV/MYV1ArFqwArLVQ==","shasum":"a53477c31e51c7ab46258331fa57374cfc9c4689","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-6eb65ee.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSDccCRA9TVsSAnZWagAAbJwQAIbhjp6hL+WaMprjASHG\n0AfDZjBBrozPuDriMki3hQaQyfjWikAfj+YYqzNW7K4WNiu1jn8cPCmynDWz\nOvtW1n+H8SZtFDcs1bUsShj0jN41QRgBoV2CDlwMvNGxRRKG1kxwYA+IdjLx\nB5U/rBzpm8hsyJ511UMj64nqsZa1gfqLvaFm4LI6ELkZEypVfTuSV2eE2bZb\nuj7CyopkvF//52FAN1G/FlUnCrwsjPPbAaFR7t4s29XN5miemg53pfxJxjkt\nhFoZAw+beNraCDpgg2gU4l01vRhA1J8FLJkefguL79wsv0JI8BgD6LV3hEPm\nmMRTjjLlvmGnCFg0OfMckJiFP5aHfODMeqOK66iBg1GurKY4R8o185M6ifns\n+zLQxYfR99RRB7wRj29WD2WH0fTp+IZCKWm948e+++Yk1dciltrqC+TsUijv\n20bQbYF5kv0Egl0IqdHST4z3CRA4LRTudl0I7sCvne9+ZcqWqrg0ru0w9+qI\nK0HCOz3HdqucCwM/AND4/5t2RQ+Yh8Z3WJsa6KVc8sMxUfwa4siC47S14PfC\n2sEkWtvWs1Q0yj9vL7cfm8MYatUuHsR33bSrwl0BL8rKzn7XP44uWKB5M7I1\nJfkLgVhiAL0PhXThOcCTGZoSc4PnFE30409zUPpQlBhmjF2pvapHA4cJBIeo\nVxXq\r\n=+exo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIARnzfXZ8Q3p7JkCX7WEUjH3JRCIlqkzdK5JrnbTjyRsAiEAwM7EM6y1vLGe0Tl8wdB8Y0qT5U3LwyCPgR5WKdmqdKA="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-6eb65ee_1598568220372_0.04237805047889953"},"_hasShrinkwrap":false},"0.0.0-437a0cb":{"name":"formio-sfds","version":"0.0.0-437a0cb","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"2cfadf5e13b634a288d2188ffa463c80ef462314","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-437a0cb","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-qmFAmucRVqexad3Ugp1QfRzZYoqyn2pPK+zlyciSsNo0vWa0EzSviHCKSr0bpB9tNWf3eaCCji4X8jDpOYrCuA==","shasum":"b19ab774958f9ca11121a4ea624c91dfcc62e14e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-437a0cb.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSDjXCRA9TVsSAnZWagAAuOsP/inj2Z1RVNVMsDSu2pMH\nfqs3hHFMZuv2+QiEbFZ8YgealhdwntfqZ/305eswDhiy3+cbTXAeTSc4aS/g\nBLebY2EOuyh2QZwEZEJ9pWHcsKDmi//Skcsqlz+uH0gDSOQ8P0rrPsfvDbDY\n7J1BLJjs4CiDxO9WmP/4PvMvTMipNcNX2Ire1EhC0zuD1u2Ndf4WYyNUTs0n\nPqRcWYCIyBd4LqCPm1QzONrw9pI73cJAtYPH+q/fbvzW0JGUzJ3rnXKH6q+M\nnfihP5sMcQOAgg20ekrmtPHnq20Kkvw8dLrbVDf1VomUYngM2mmaUjus/EBw\nPYeyz+904nLGwQgv/mU66lHt1cNmhrNO/prE/LBYXo9maOvIs2ybe3cwEtVG\nbCCW1k/c6nMBHKnEizokGosECqlyK6q1TLClLJFi1V9XRIByCkMkFbjQO1Aj\nrlwQFSmn7lWIhSmrL61IEtroAX5O4Qi25eOuW3GkH2EvgepLaehyqW5wHv5+\nuZ/wbUWITQqfyRO/Wh62+X0B6udvmCahes1o5nPv16rOXsmb8G0YNPJ5rVMz\n/AQpEjq/3M0tSYV9korv5F0G4WdxF/edJf014u/SYSyZicps7bKIgHRbCpAt\nyz5lkYJZy4FMydVa4HCqSOejx6SvccrUax199sZjHZ/Px2Viaec/ImwD1JvR\nGnyq\r\n=5thl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtd3E+0rtWcM7hwwWWzXmP1RtEghbmdknUN92dsZLWawIhAKtfzFzKLjUjki8iOWupyy8DNLSW9Lz3Nqvj6kdbi1qJ"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-437a0cb_1598568662729_0.01741500621773162"},"_hasShrinkwrap":false},"0.0.0-c4b269f":{"name":"formio-sfds","version":"0.0.0-c4b269f","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"b550ffd4cc1e001960b92da0be257d1216a225ef","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c4b269f","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-bBhZL5dFrPdfiQ5O2R97+4GoIDTQ3o2O04Zx+Y/0/+oXtkb1v/JrhGOIyHIqqJk2nmxk0udfTZgU/4NwQ/6E7w==","shasum":"0a43915c356e937a63732b04bc52ccc607e77fb8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c4b269f.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTT5nCRA9TVsSAnZWagAAyXMP/j/hGyiuN/D4sfKWwyJg\n36wd5XR+ThNeDrJBU49Mx3AgKAcPJj5CgiSAvTEP/xBzTFVjZDdEdj0W1wS6\nRbwO242AWxZdm/4vLf8m7b6Srso2SN8aHI2tFOA1fyk2LRwsUoV3HPuq3sF3\nuvJqqA+zbD/gwr1V/ECD6TLTTD2PRbzSoThuIVaZFcb/6yI39+6wtwppmakK\nc+3LbebDj+11klZsBhsd+VzVoMk/J/fXEQ7V4F/Ymup6uHbq6efiaetf+uvv\nhIx//c4ZesS4b8TWCk8GIHh8Ju0gAni7evDavEwQ+AQdKQc17XiE1x46rD9D\nKVyvVKrgZxtUsEjJTsoW9Y7lkuTKNh26hw8wGZ9hYUtxvRdmmBD5P+JKwXoi\naliKd3yyNYVy9l6tbFU7hjGOjgfEIl2OZY1m9zb4Ko5r5CqX0HO6H26h7Tr+\ns606aj/Sr8cEkYqnG5Iq1pOIGXTGHL9uVf3VRRS2O0vTAIweKyD9xYwVB3lW\nh2esjDNzWnacGr6z82iunKe8trpXuJh1qf6vaT1P6ki/9TPzDvfwtpimu2va\naZe+YOVpMU+ieRkynHVv0BdjTwjd5feTeQPYtjY5sD7ifUGklLhNKPYjGtEQ\n0mVUHg6PtzfJestfLSiyCudySNOx0L3bIyhVZ2jUjeJD+2SJQrEyafjx0dcU\nwm24\r\n=4r4z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfMCLmtDIl/58xFdQqCeOg2Vy723euF6TUS/4/c16AggIgV3i0DlOKKVNbMNB7za5x/1ZpV3/FdKW0R7t387y80cU="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c4b269f_1598897767019_0.7516896844829626"},"_hasShrinkwrap":false},"0.0.0-949fdb1":{"name":"formio-sfds","version":"0.0.0-949fdb1","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"fd1bc03d1c7d1984023ac00f33c651ef98894658","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-949fdb1","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ke0VprBGt/esYwJwglqJ9j0OY3BmlogrgOnbRwcnj/nL+LjZcql9IehAgyBqc7QjUhGjAD9I1zXyGZDgdl8VgA==","shasum":"19d4cc2fd7ec131e3e223429bcb2b3d0d2d65ebf","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-949fdb1.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTT89CRA9TVsSAnZWagAA1YgP/0ng+5lFCaMg183snEFc\n9GvTGTo85F7uY/AtxL0/qDfcZ//f1kPu8kf04zJm0jnms+DoRIQ90nE0mD9O\nUkj74KK3q5cGrUg0r64apYS7VPsoXEmveso3hVXZdN2X++b8cp//9uyeHuLO\nLwCBh5hG1cvcx+mVOV7m7hT2ID3ZhLefnDjHcKWxjVi2kyHJhS6I6/a9q9E0\nz6+Cn1XGts0nrRT0N4NOvHz+zuD3jj9wjfInxnmOWTpJzHl7kDuzBArTQrBZ\nvbSe/Qp25OsNir8xwCvuMEmPo3cK84d0+RQ/Xcvx/HipvCuN/u1Lk9En8GIu\nyd3CVlzGh+4FloD98tMFEeBQYgVLk4yYUH7Q/sc+1a5SMkNSZYFXtqv7ooRi\nJ6AUBZups882rtRGeLYmiatjtuS1hbnEIC1ug3DjTKT162uTY22iQAJNyE+H\n+DxG9X272vPjkjU4SLt0rAUtv7b22xJG8lJuqT32AmBV0sc7h/BKFEPmjJ+o\ntTz4rirZk1Mt/p5u0VcL8+eotUeNIk/oizIBQOnvkEx6UbSvugkBny+3Tznt\n48jjEpyH1QzdbYLOxV0xuwlHZar7RtAh0/RUBQFwsufupcob4ReeYz+L1sPp\n2Gox97pLR6VA5+/PPBLqGcsDoSuFECzHTek9ORCPZqPVI7TJO8D/fvvlhDO/\nJVfT\r\n=M78u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBX6liF1MKv8e5sJdvqTpLgkTJFw6I+krnmQ9+P5CRwDAiBwkBQlkYlBN1eMR/x+xDJ9aes2WHRNCIolF/gkkwRQzw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-949fdb1_1598897981349_0.681388665947841"},"_hasShrinkwrap":false},"0.0.0-0f9be24":{"name":"formio-sfds","version":"0.0.0-0f9be24","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"afd51d1e02975afaf6bb8050a099cdc0b03b8091","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0f9be24","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-D+ej6Ue/W+1xuAoZa0vh2K7rBK3eS36faBm2QyJGeOPhgXuUvY7VFm2oD/joaDXTLVFQ6WuaT6fThAYbASlJmA==","shasum":"359e05da5d8cf83c60f7b22cc304f760847238ce","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0f9be24.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTUbxCRA9TVsSAnZWagAAAJoP/ieJtj2/LO6iSd5bQeWt\nyldsgGXW6pPxZjoyehyT7XegKoNc89BsUIfKSqO9IuwB15WPDKonH5CRjdZT\n/kwBSXh3JSxpLYmFizjyK7A9VZGqBbPyOaJR6ZYbUwvm3upyDFgmbuKlZBGT\nnRcfuYYmrflhlfUVvR0BLJ6EjicF5Pypa3RDXdmy72cT4VaFbIe888tySwPy\nEmhUQGFjIPN7z//3NTTCo4CGCEQenevgIpC+qHLSUQnowxnZX+Um2bpOIZ0G\no/luefAv1cmw3u/7USha5uEpUIAldTyePvGJZnEYW839hyK7vLnuPHod2jqz\nFrZcfpVPLJM1BpaTpK2vzKZ0WUcxqMuN+s3efI93ZRvZ4LVQaTaxnEQ45WfS\nfyFztJ657pHazVRRln+qHJIi/ffbOqB9yPyJnXKnxKCj8CMZIr5rJfe9tvG1\nzZKeMXTPeudveV0UPVFtyLOcbhJIBPtFm+x3xo931XWjxb+hAB6sY9qFvBsH\nqGQeObl8cUqYUyG9V7AYzId4pgwJeCAvq89Wy5aXKCykoNf+WeCCSazA6NWk\n+qUNyW+gLYP2jH7ArHRyUBbDBteuA9GNE77RfTMwlzMOyPHw9NVUXgrsv3mt\nMYjtIyBy7c4v+3gRDvD1AjqS1tWGIZ+sAFtd5xMam+Vh6jFR6O2n3bOfiGL2\nGnbb\r\n=+lLJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFkRs1rSf/v7ntMeKVXGZxZ9TQsiw47pCOEKjnLd+mfTAiA9gONeTrv2p4s2Jvk1X8+X8ua7M9tMJAR0TZqlMiae9Q=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0f9be24_1598899953343_0.43513642506830097"},"_hasShrinkwrap":false},"0.0.0-84f1674":{"name":"formio-sfds","version":"0.0.0-84f1674","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"ef153638505029bd21e804048e49fea3f7d23cf4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-84f1674","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-l4qCjeuV6dLZ95IM9TWnPyFxpflxRcubjZfq4lLRfPQKmXoChaS2vngoLwqDeaDC7TfiDH3sWcAL5NWS8eApzA==","shasum":"da78facf8b3002332d227a2545f46e35e7b5e27f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-84f1674.tgz","fileCount":246,"unpackedSize":810359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTUpyCRA9TVsSAnZWagAAes4P/2zgIfXC/rMEs0/wJ/s6\neUl563IrURp6vCKLP/81C6FuOo0j0MDYkw6IgIda6GOp0D6HHShjZcQ2L17g\nJIhNdwaRUirSZgAVjITadTmwyHL3w8Reu6gIIweb9SgmA/W4O7HZsTaAgE7w\ncMfK2PgucHXOUQ31sgIsnlNZKz0VN0GfJt6ve4XHIYQT6CpIj5TCGivaFb2Y\nGZZQAg7hpSFem6zi1XCldH3+QxyY5rDNuMcLYhj4WArpdKUzdqEda0IPUFrx\n5ezW9yJsu3t9HwrxbMuqPNjEdsnYCVnxiKpZfzbc3yCkVj309Gvtjqy4RWA1\nEAGSHq+d0cA9m6rVk66Ivhaf20jx4rTO6THHptjX1Yj+P3q5s84MVWSIJ0a9\n7JGye0efN9PaMBO/2SA/cE6dNvWaoHSeVIbKO9YEOT7viHsqD+1awRUKmI8N\ntE9ZjE8yN97QYYZvNGl8WAzjLUiTO4yQgo6jrBAv0FLqmsLkMfHCmhtQ25xx\n+iv5CPLGYbx92EHkQqAZtvo4hr2s7D+gPuIAesBQg6GUw+Ye+j6r4Aj1hMQx\nwZers1mU0/33RZfxNu6VfyG+aURUURcL5faH3olvd4D+N3SDEzaGt9AV1ndf\nCa15axfWfKCGsjtAX9riulfgZT/wdgDjb/EQitGwxkI11H0shnknZ1dSKFOm\nHPlB\r\n=Gu5S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICH/4gaJKwDEYZ2+PZOsHUsbRslcafLHK07ZzenxTqOaAiEAtCW5HRCDqYi1wflgN0/T27q/TWJa/egQ7ZGpMDf/C6Q="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-84f1674_1598900849854_0.2705032508644125"},"_hasShrinkwrap":false},"6.2.0-rc.cbb1005":{"name":"formio-sfds","version":"6.2.0-rc.cbb1005","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"3aa75ab98c022948ffe7f58443ac9e778cbed2a2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.2.0-rc.cbb1005","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-RL2tlmQ7TIArXZbCp0yCdqh5xDyZaXilkezyeXekbE0PF3R2MkSXEnj6OOgdk4x2w/VO/yGn5hwLntCuefrMwQ==","shasum":"e162d3dbde944893667d488f5e78b59f7d6cf9bf","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.2.0-rc.cbb1005.tgz","fileCount":246,"unpackedSize":810362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTU5pCRA9TVsSAnZWagAAwxQP/272uVrq0LvMP472J1vw\nkiuRHrgNt9Qw52TUDWRRq6KfHwc66U0UK/9zXcws9MfR3bemPsdk//rm/W2m\njNzM4WoKK2xlhHAkTtiRcqrTw/YVjwTXt9E2syhlHV4lAAJ5K7JAWAGz6xHa\nw48j9M08DcUSQd05R4n103aVWFBO2esyNFy9vyvmnLfC4FST4ZJen8XjYV3u\nXboWKZLgC/yAAVoVWkf5MvmHuqFHEZJjKZM+N/BUO/leCL1BsWoAkngZU5+d\nTsHGJCkkKCOo+ZrIEq/aNhSCOm9IjKgMkI6qidp4W2hCJpQKlitFlswDpb3B\niganTjMG352DRyj8BezDn5zYk5/avngLF1N5sLlGjD8JKqytxorig3RSdWki\ngwi6BD1RlFkeVohMgy03QgSq7jzarU+eojAYEGPHHHB31cCcAgSu6SFnQALh\nLfFJ2FcQrbD4FJLT4KR5bx7dgiJerrQcnU6bSGaxsjYuYIGKsX8GPe7l2ULX\n6G7PGeXwA4m3wlwGj4qWcGlE/v1uI9Yzoj91HJ9L1CWjFLIwvMly/d4USrqN\neq4KYrbXKgDWRevN1E8ud95IZ1oQZyOLuT4mFnBEmPgFgOwQQMd8ZdZzLyAY\nztic9qiWYxeny695glArio31Kso6aBaZjSfhOEV7OHmB6nlVt49r5zmQAqXi\nPbod\r\n=fX8S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZAHcBtjwTsAAkXIjRub04ZLIWh1NQEueTgRbzp8XqvgIgNiN5ne2EL9SjeXJiQQW6+FS/O+SFFg5vGY2cHaZpoIY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.2.0-rc.cbb1005_1598901864530_0.3726941714262204"},"_hasShrinkwrap":false},"0.0.0-730d401":{"name":"formio-sfds","version":"0.0.0-730d401","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"56b56e5c463f6bba042545a6101c7f9dd1f6f106","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-730d401","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-D72nuvLH4WA3ZZbogbji9tk1B9UPYzxeO5T6JJ5K81EoV+n4RuxY+AntR17ORe+nDhMD3RgKDGrk635osUS0hw==","shasum":"e8f41d0d4f53bb9b9693ff73ecabe50e8f240aa7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-730d401.tgz","fileCount":247,"unpackedSize":810504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTWLwCRA9TVsSAnZWagAA+M0QAIqTrnMdkyKHcKoJ2yTd\nAMqcTWsI23dboYUbuIqZu/ahLDttT1XtEA8bLYgFug6iSoG9ddfwp9UeAAcI\nD/x5WNUFJc/32grkf0vRMHT/PJnUv0XcWS2y6ncRvCf6fum5S3o/FkWNLP0S\nwM4qgNpBUO+h9PyqEV3ut8ZcHW1IyzrPC3zTt7GP+djGXS5ssj7N5nElFDeN\nVX0jV6FxktqtTEMgmjREue8Yw4jASfCDf5qISZyqj7+pX0D0LgeUpPsMi/1R\nmQUQGfHPUImDXogyMh0HUca2FW8aLBu3+n+nKXSNyGUUf5JFyZj6XtlgijvK\n4oT6bg7s+dsNbHlcz3IuoRrbhULX3OsltM6HmNzzCZYJKagX/9DQ9B2O/+oT\n0hGEcxVZOzD9he4WowjU/qkZdDTDJjhjhs/T2Wi9K8pQHIdruffqknNeU/Od\nqKgH4CqvdJ9U41vH43QUbrn/bT6Nx6pieAGi+N+KXTEQzer9wZj/Sj4Xf9BV\nScrgaQ5liSImF4z6RTLrobS430Tup4n2FuPaeoYRq2u51+V6LFTj4fZFa776\n1RPuJKeup8PRZwHrz0fusGRnwqVqtlWUfBTPsyWstidkleTKHIV2rvE0KNBX\nLUfBV1yO5imoj59uYD4ZZwXWpoH5TQxDYVxyiO34lyw9jC8af0BYSiZ+o+j/\neBmQ\r\n=SX/M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5dXAVWy4a+EDBFDHi1lFthE570H+WPANiBRL+OkUaoQIga2NnnRSnOKUF8YQMD0tAtUBUoWkphclI0w2oq5jwNes="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-730d401_1598907119283_0.04339418356380009"},"_hasShrinkwrap":false},"6.2.0-rc.a2bfed3":{"name":"formio-sfds","version":"6.2.0-rc.a2bfed3","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"45d2120481b3f6fece5d27888c47a6fd4a045e65","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.2.0-rc.a2bfed3","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-I/aoLzUF5HnPIDldcbNuPuia/yH/RxlQ/qaA7KOSZWG1g3ggitjLuJtT06iOwTTj4AWwHt5LiTdNc1eGBOi+SQ==","shasum":"9a2fc39e727a74b803cf6296fc08f5e6196f11e7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.2.0-rc.a2bfed3.tgz","fileCount":247,"unpackedSize":810507,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTWgFCRA9TVsSAnZWagAAKc4P/3CBqLVENSS0soYSOBRy\ncOnaC1bTkTAJoO9ipKq2TvEROTywDQL69e9klVKZLHgziZG+CWL2UVlpQS1T\n7MiTchqmsEvGMPiCAHCbPIjoV2w8sPhGen4IU8cl0wJS6DtW1fgDlVaXQSK8\nY7OZzFWfZRmiQa9dJH6RZHRNhwiDfawkZ+u4ORT1m8SGsc65OI5hBOLGasva\nfAiRJqdguUg7KBR+R+wSxvzyVs+C1a/G4sLWdEPugvVoddrsoRSKUbmlf/8z\nQzUK56m2S1ywnrnBrJPH3caIdUBVVQ+flPi+hZUIU8OUa0yXZa62cCXrmZny\nA3+L/WE28gORtPnM9M+XGtnRsh3ywmqeHvbbMMSeWfhQoIwtRCd9T3wicwFB\nhRgz+A69CK+A+8P/6Vgv4i3f7Atf39RJAQ+a8EhYb7DClumemuWk6ysDcHh+\n1gcJTh7zq4JB8eM1Y3l5XLJi2md+YZu6brdV9q2Nht7cmQpMHybJ/XaazKl+\nfWX3r8A2xTO98jL9jKH1YxPRj6hUCkjwPx+qoyDKJos7pl00hvXnwVZHFKtl\nsmLY5IYq3cEHo3dyZh3WSbEZdC8zhIOcAkB7oQ2J338HHwlw4+VOGX3wZUhd\nbysXAAlLcL5ELVpS9q701cVQT8nXIHUsQ8kPbu5tPD18Y5Hcg9Pm6h/WkpNH\nZH37\r\n=N7Uk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDEF3En6dSU9diTF3l5gmWfBz2oEnTZ3rOVAKCAZoO1OAiEA6331wO/jbAiNF8gCSFU9h3vbSGHIghEz350M78blniU="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.2.0-rc.a2bfed3_1598908420575_0.7687055668521858"},"_hasShrinkwrap":false},"0.0.0-3a56594":{"name":"formio-sfds","version":"0.0.0-3a56594","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"9e578922cf85eb543687cd128107db74b062ba02","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3a56594","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Wg2r1zVB7NhgB64QI8AmzEFK3CIV7djl5EqurmjM9irZZ023v9NhvoJOXUjeIRgWLTCiWFgHgAEIrqk4Cqt9+Q==","shasum":"5e3a4f6af3cde8f05092f156f993aa79489e9034","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3a56594.tgz","fileCount":248,"unpackedSize":817772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTspWCRA9TVsSAnZWagAA5cgP/17nPJUoE+DuP6T97juT\nojfIHBiN85e9Bqm0dv4V8bQLSKnPSQEGWlyS6JUCRFfwsVQ4rxkISW/Cc0+c\nykaJXEAZBMDheuy/UD41w65TjQYCCcc2k/tBlbzqbuaBXc2jFpRyJyPaWPuB\nm0D142VG8/ilhFqJWF3ot1ni/rcuutatHykUFnDOtQ9lvnlcj7Qc9hwiyRA/\n3vJbtLcaIJ268Siw+ido2tHC4rHuug9lY3Yt7qyET+hi2/8+YAv+bJPHDZ09\nuYzfWtijVqTZzOK5CdT9nvbebcJCBFrA6/5dvWVyBKpzlUGvuM7Xpq+Ge7y/\nbm8/BaVAlHlNHzcbc36VNlOpfbG/PJOqSGTl4tg6QSxrcMX0nniJVKEAiADP\n4mW1RQl/V84kW5ss+TT++NvVlTd2ojtdgY9KUf8u6TwYiuXAj4ZgM7z14xsv\n11dq0IT0VqkrCdxymmSdZNL8ca/uTIKATZ4y5YRXxD6Cj3mo0tC2U1WoRY0+\nTr0azXgv4Y2sM9JyquGTVAiRvkIHWimd55zgsP581u4mZyU+pDTWT91833Td\nAXbbZaRedyYMOjBjfwf8Qnw+6KSwYezXQs9T2OWTWy7BHjRPk5iU9FkOIONz\nZB1pFocYC1zu8Vi1Twquiaxubh+QF+YvnXQd+dTpaGlaS21YlJ9M956Ji6mC\nmwWi\r\n=tV+y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID2Vc3HtTn/W9I/DdjIp+NqD9exA+HGISvi5fbe/W68oAiEAm7QcQOPnM5zmDUFsUcv3Bw5mgfe6UG6Ghs7eaAfBWRM="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3a56594_1598999125473_0.6983651148760412"},"_hasShrinkwrap":false},"0.0.0-2df7daf":{"name":"formio-sfds","version":"0.0.0-2df7daf","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"7d3a0adf4b9badbad7563156c6972aab05e2a98b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2df7daf","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-USUSkziDtEB/R/Am6zWAW5KR/bWXmaEja8jfYosQjXpBBuKDj8aa2Vf5gF7qvFqyNzvkwUZEhVZhhdc1Tvw0IA==","shasum":"325d4091eec2419a432eaa2241e0750cdbdaedbd","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2df7daf.tgz","fileCount":248,"unpackedSize":817543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTsxSCRA9TVsSAnZWagAAyZMP+wcWwEBqohIoZ7+CJU0V\n7nrB6LDekVQ/G4EoqoVyfplHFrLy4UM1ax9lT9vNmv9Z0RwYE2nk6y0/lKBa\nVKwFYsLU1g0yDp5ebmE4+sPuIpvqq5aFGELDOEqXkL+17Ov4EU+8Iqz/h+sE\n03kqDtI5SdAPgSsSVyPp20DxlnyRrEgPXNQPLDrOxFc1WfN/Z5Zspy8Basci\ng+qvU83XH/JVj2aLFI3YsfkJUgbzuj0zAL2+foqjK6a2WVKvfD4xfQqq7Oe2\nxUt9PL8INAy/j3XQ8NHAJZz8kXcRZ9QF7KwH+eUwKOFMgjCfe8FjpaHze7+T\nZ5AbpKG6NDmqt+l6DpWNMVA3b0dzldyQa70EZbLHuOm2CfTt63c1GWg1J04A\norf1FIda1hGA5mig9kDEqPOeEpFXzVChS4LlxlnzGcMC5a/UIqGbzDVqjsEN\nW4KPqGz2vooaejsbzZbsakQm4IjK71ZwS0FUrNA338ARKnpVZTYjfksCFsPo\nJY4gUSr+fqpUM/sKK+8BAU/rJtBHKcvlmhn2j33U9QEEzi193cXngdqZgnMd\n/57ESFJqBXO24wo9rdwBPlUoaLJUZbqNOcFCfwK7eyxQDaeT2wpfwZ9CY3Vv\nRGgE9//du1oUDg/zhGVKyX/mNuMe28mBl/4I+XTrMcEof/M3sjf7Gj8tOh3s\nH4gR\r\n=XNvr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA3D6z+cGDTCyI/IbroWEvNvOvwdfMwbPirZc02szw6YAiEA5UjtDGHjnvU1p488O9tX7cuc7IdkQgwA37dAT8XVg7M="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2df7daf_1598999633712_0.3191756401011674"},"_hasShrinkwrap":false},"6.2.0-rc.3242c09":{"name":"formio-sfds","version":"6.2.0-rc.3242c09","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"ef78017d2ea5cdfcdad3d2e154ea45f80c37aec0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.2.0-rc.3242c09","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-mU+wwJx13gRx8QL83KMebFImMBHs4hu8rqDn/jTe1mGR0sUWfKB4hGcmGtDj9FMOttHZWpr8emU/XWoQ3O+TxA==","shasum":"09ca73fd2317bfcb8705cfd54904673d411e594d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.2.0-rc.3242c09.tgz","fileCount":248,"unpackedSize":817546,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUTb4CRA9TVsSAnZWagAAJWQQAKAs/5x3D0Ky06gy1cOA\nKN/jrzgDOgpnzA0122Z1NUstM5CeeqgW+s2P6iC0dsvG6sPFrbvtJtR+hPxa\nCUS+Yz1O2nWm0XFzyUa/mMznxhjp0UYwCDkeLYVY5eC63dnXp5tCLjhRpP9V\nW02d9yQPLqSi/nZlrq73tnbqyRGezCjPWDekPHpqj6B0MEDoCMcX3M6qFciJ\nHlpn6ChuwnmHBjAs+wiqlLNe5EgoLKHWAOT2LUdU8KF0HQyONzuAPtlWYA9m\n90VDcGoPbwQDvqsRROP6Rgdu4cxEyFE8fZDLw1dmABDIoMsLeOiPpZ70iWvt\n7FICW0WHVTy7G+c+HeRc3zrr98tgRVzpmFSAqjYIlk2rVdPtIb3Gzpv2OLY+\n36CFGaWdW3YMNbnsVtqmP7eklOCGYLe7cg4Bb2nyLhoQK5R11VjE3s0frlLH\ncTVVPl8NDWHvsxKIjcOHLZN1bR3v+jQxKTWTIwmNCyzO7nm4z1r+9vwNa1lt\nTF9sOkqv8l7zCRfqi6g5+9pqtX7cO4QiGMcBchzssgUGG9JeYhXwbXqiQVYW\nH8b7kcLGGVKeHM+jQjRAjc5vLiOaYVtuyshaU4C56rFPATLcuRmdorb8fltV\nvo9np239nrTpOOYpiPT39goO4R4KG4kyrvrrpjpTe2+rIgsv44Ib6ko9OEiF\n6Q7B\r\n=uIr9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFzf/+twjvqFdszlkXjWuljWXkFbh1Ddmz/0DZjq5RjhAiEAojh0X9hlMTGMi972vtluvMwI6sU6qKy0gTP40MWYC18="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.2.0-rc.3242c09_1599158007942_0.2975559776592003"},"_hasShrinkwrap":false},"0.0.0-6a23b26":{"name":"formio-sfds","version":"0.0.0-6a23b26","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"076dbf00fc070a8cb33c23bd9d9497ce156c101a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-6a23b26","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-f28v0cJHrjrcgOOmPLe/HD1mzZbyZ1exXfVJTq927gQp8092isowX8FA9TJhF+leRzJJ8MgQ3ZQUemnpRvOrrg==","shasum":"9401c68d9d97e1ca653ae12f233fd61a94ac6972","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-6a23b26.tgz","fileCount":248,"unpackedSize":818048,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUTgACRA9TVsSAnZWagAAAyYP/0aeFBA6SdptFktV+lq5\n9hv6SktK0Pz+ILfKX6CsyPzsilLU5U0urXiwlcZccKGEul45CRlvJcfnK/k8\nsxuDY5KkDI6cgMf083/uEhPEdz+ENrAw12yISknNmpoZHWC6EQyOG2FztCNn\nM9KB9p7++8JVI/hbsHN+4hCDY8kuFu6s+73GtlRIbzWp79/lGRvICi+GWral\nNRP87BxRxaGPLak7n4GjdUirtaDBg9I0gmmeFByWuubR6maiJQ4pgta0+M+1\nQ2dAWGumU+cnJkwjVRo+MXjvjvuxnKW6aGjhTJu9HEqyGRSeIAy2rYmQyHqz\nqwkG5pO/11NI8ykEoUVhpB6BaRiJYZSKp5KECw8ysQDFZAN/QiDpLk1QyIUX\nru4I7dHIb738K1BoSEdRifFgAJqG4Fpv0k9gFB920KPw9dxnLUzE7S+n9idP\nYW8CxKdJntKWTP2GAgVBEDbP2hXV/mx69fMoWuarP64f2Un4ILmSMpRpJsBG\nOJB3+/v1IyDKUGv81j7sDlbc+/nFwa3iBPabF+xCgfM5/wAy7/pHyw7WzW/t\n7elUgQI1QDRvro37jiZfq0I4YDdksLiWNOim8YWhPgHeGPGnRAza07yOJHDC\n1r0+joQwnazoi5IxI3IVM/5Yp3qfjEyQvaYKTFgqd1eBDfsOvWKVDwEJsKNe\ntDa4\r\n=0HBa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG/Zg8Al4s8DhEVDMShJxGmXSn2WfBjG/G8v1OHO6/jXAiBK2bd3Z+hdpn9/CIKAkMFUWo2Peg6d54ks6h/HgyX4uQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-6a23b26_1599158271647_0.20917988720634306"},"_hasShrinkwrap":false},"0.0.0-0fdd690":{"name":"formio-sfds","version":"0.0.0-0fdd690","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"6e28d91c57d6213d1ae8d48becb1218b9757622e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0fdd690","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-F3t+zHuAMJNiMQKr/GtnpNiFDUuDQ+Lt8SEy1RXWZ+96ZN8vuNhyo3glt5sE+wKeRpvuPXr1/+4NJ1PSOHx1xA==","shasum":"1da9330c9b2d6133fd7b415ca471368bad60dcb4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0fdd690.tgz","fileCount":248,"unpackedSize":818125,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfV8jwCRA9TVsSAnZWagAAzdoP/Azza9pUYxFQDC4s0jM4\nOo14tob1jLMkaNmWnUEhD377FdMYxAWLxmF+JIIo5MpCNzMnq4JJ+vmqoRLc\nbCJ4y0HpWHTs7pViGzgm4HOLneOQspUcBD1BIuw8qp+PUG+Eee2ulzP2wgZy\nqFirUtc98+NudYCQw6XeytZd57wlK5flvHl1HLtUnzOgoTlEbM+cPatn+lNL\nnC/LkXAljTT1IoQpG0a3vS8dgbiui+Fr/2BU3WkjEvCxAURr3XJUWj1SDS1z\ncoa/9hJ4mANbvYL1RQtzwBOpi20lRadN8Io2AlqDCKNq8J3JRPyuBd06LrcM\nghjkmWtWhMfnNrG8W1U6IZSj3imFZR7emIJUyMbHCLMiY+QOGX8S6JWfP2+G\nAlK5/xor2HxMu/hGe2zZ8pOIkPRWzGaodMuR2BWcywSfQaoQiU/53UP0K+D+\nb78cKMYbT8BADfFd2zpz2heNnUvqNP2P9qweGjtrGkkfF/BKGLHFJM+ERjv1\n4+ykufFgKAYL5CWP+bIFhiT2VdTt6KnOEH7RXfNKowRRMxj998sx+MffZKkg\n5a11rn6X3U4gKyohF9mDnIP0oxAYuevYSpiN3YMFURpKSx1UF/roZ1zPyqb1\n0UQJ4xkdtsWp8HcBqowN+LPYwNZdTP+aprLA1oI5Gml2Yw2DtZi91f7HH7n8\ncQo1\r\n=9wu5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7KltzVnMTvX0KtNhiZu3VB6Xvn0tWEGOoVBFP6iOV7AIgAY00YkmPQ/DlR+fvqmuiMK0xc09jyhxJrW93WkYP+Rw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0fdd690_1599588591653_0.5289705000381455"},"_hasShrinkwrap":false},"0.0.0-96f295d":{"name":"formio-sfds","version":"0.0.0-96f295d","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"72a36e34293bc5b3a944784e2f66c9d2ada5fc23","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-96f295d","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Q3XIAx4/hRY5mv/eGC97xc5KR6gpAaAKQwRaI+4gO57tiIm5vcm7BGH1nmVDCnbOykFRFnfEOX0f9UeWxx5Cjw==","shasum":"d7248c65bf3aaf41bb29d21b2dbbd5f8e2653a8b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-96f295d.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfV8uTCRA9TVsSAnZWagAAfCAP/1mgDIrVDo9mubhDmiX1\nIckGUXbCsmBBRDecwXj+76TiqLszkXGekekiqatFX0P6YaUR7LfvIxJy5eSE\nY9PsLPrnNhEvGD6BE3wLOQ4uTJP1wOy19YTC0OMKr0sAWwLLg7PsalFlXpI7\nSElxrNw/mXjf3SHgI9AWGzo0mYk7rJvj0znUI8U+RHDqnL3GrPKIfoYdyf6Z\n44W3PYx8OnI/H1xWc0eDzoe4o548rS8ZUwPBNk6rOjRTDoSLEJReWw0aSQ44\np9HvYaS6Nd4reJmX8Z2qfEgmPAem382x4ryzHiQOHDHcHoLL83SX8IV8G3TE\nl2mssxUBYmSfu252UX7Wf0PbJncSD+RMPGHDLpwAMeRmrVKoX+/xvCxRW5q/\n64bearbChwf717+gDLwKt2HfdS9+gms6xEkeWAYgQFazwOcihHwV77WfGEVL\nH7UkwK7OR3heBxOvQJdkz2Lt0OeYX9tPy5l3quXWQp0Y2ZjMRu1QAgppn1Mv\nu6zoo4I/z2WU/7MRI6mEuVBkjVCpTnnim2gdnydmdyCKRtU84E58uzV+eCyh\nWf1yUR1A2yE3oOcMIW8fPz3XCNt4gE2XH/u45DZSKn0JJu/hub6drKhDZe5Q\nwxeG+FmLYwtHSzf24obN2BL7rUJPLstFSMlhc1YTrbtNQniabDj10jVYYQ4p\nkKap\r\n=kE+g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB75teB9EL4hWtK/7xkLS7mHw4y3g0y9VtowHhaB+GL8AiAWSNqB2o7Hzrg/61EX9pGe2q0S4k26U6ln9zDclmQamA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-96f295d_1599589267013_0.5256141957681717"},"_hasShrinkwrap":false},"0.0.0-9abb451":{"name":"formio-sfds","version":"0.0.0-9abb451","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"2e8e9559e2bc829c1bc146b02200ca1a5798322c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9abb451","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-qNGU9Q5HiWJGo7Dv1fYbK7WEfntBHQrcV+3HXIHvNPX26rUBi1P5fYrR/GsLQ/tLa0duwpc5acvXg49KAWDZAw==","shasum":"28131797fb51f0d0b236f62a729392a95850b466","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9abb451.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfV8wgCRA9TVsSAnZWagAAYrQP/R7Qzf3d3NJZOvB3e6im\nkEcXz+EKMbW+4APEMhUqbv0zdrOT4+36/uSta6XbEp2bgxypCsYwppdrgtRh\n38sxCIt1Mgiq2pAfmp8zRt31LzCs1mJO+VzQ+lY1pCUgfZOhyxZARbLSRqZW\nD7pPon6jC/sZBhBla1o7Qn8eyZ7CYA4PShOGNl9vLSinZFPNuTfsz/ItcaPE\nX/94DDoA49xHgD+brQFbnrmoVljqfR918S7BtUCzla2h8HUsBpFBGZ0Hay7f\nigzX1g7gxnZKN6I+kJl9XqwEO/IKnJtohH84dMWn9qes1oqQljzYpDQokpt1\n0dJ2ei/8HF896mb3rv0ye6/zZKcJRM2LDwy964BD84avQ/yjc0aOVzBWwCAx\n8RB7oCLIbobWruM8Xct54kqJOtrzozqO8P6sq1lo6hSaHKQx3wXJ2Qwos95j\nmDWFWb0BtZdQwyBRsubGAjArMpQb8Otxp7vSh999P8uqm0qyQrR4FzgYsoPm\nsz14ICXkVzavk5jkcK9aW0CtuO7gPnKBg/BtYxec9WcqtMW1+xLfoWnYALeq\nGIvms3vnzv3i/ayhsTriFkAkEUGk3u34Ftcdz54xjXtmH8e0J3A+EYnH1Jwd\n4ONAXAECncenghX7q3UPAOZPoS36XCK58CIWJkvLU/Tk8Ef0HShkwAr6nN1y\nIWjQ\r\n=2MON\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIASRKtj/u9YNaHmcShVRC9NVR1Ebim7SWgdrsgehyDOrAiAr/kQ83adtZL8JnPd9qyrr1rr79ntJldwe9M4gQrDE+A=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9abb451_1599589407787_0.34607997346218466"},"_hasShrinkwrap":false},"6.2.0-rc.6010cce":{"name":"formio-sfds","version":"6.2.0-rc.6010cce","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"cf59a16fec26e4d36d06218ec470b2f0a3325909","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.2.0-rc.6010cce","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ng81Y3Z53UWDHTTUmLctMR2IAXImbLczx6p2E6DY47Eciobllxku/w/iyYRtVK42JUj00rdZJEuh4hIHimlCpg==","shasum":"31137becfafa5bb8b012a684f9bc944d14241804","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.2.0-rc.6010cce.tgz","fileCount":248,"unpackedSize":818082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfV8yWCRA9TVsSAnZWagAAMcMP/A7b+z2k8Y5fe44cZuPg\nFbaGzLJ/jss5gu263VJ93u6P2Nh3IKPrkR4d5clOEtB2K73mEfZvT7Vlen5S\nDGUHrzYYf9eBVRAK5owC+zObwnvLfOFVlztzB4iXY2pZBw1Xi9yjKppc3WXf\nTqt8H1NvrYpv8i0eef0Mi4Ea7VdSOsf7hKg973FHMSsLQRzTQ4y31ivQlhmO\nYRSyegYQsW36ynk+8le0hT8P7P+ustEoNVx6/E/SaTIGiom+7Yh2r06wOhKl\nSKsnMrrPTyNOx1gNwys9YTCl/CbuDplXOz7nhCSlUOoQ4zuWORdmUWLRmmvy\nCRH6Dz/l46ZzuIGKHYQDGLV8KoNXyxI85GzMvZ/Cq9OXRrLWFIEX31kP8LpS\nYLX2lDZa/8fEWW+rjxvxJ0hW7Nts0ByNC4690OZA+FnqA/vCFbF0oypZh2oV\nsajuacCLWtFbS51MqVFJqJ/N68wv9uFoEyYd0I0liG0YyjDSAH3DW7eV0r8B\npXdhCr7ZFz9hd8TfudkT7qn30VOPyJnzeJEhyVGbLs6bj3ORX7IhsJHzJx6k\nIL4pSsPaqEpJtcRbikySj8kOmUZvDk7DxUKJWB5ZQR7W/7pFUf5/ojRx7/rK\nVAHbVSCbYGR/ACrYUqwLrqnHYgJv4Ne9SE8ZXhyHGVFzNDZaAtkSVqUPWOYV\nE08X\r\n=FSyC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEgqInouPCYlW7W2iiyZo7+1NrjB9DO/G8Hq6XvhIBy+AiEAhWqhI+IG4hbhQkVeZZxT6V69Sg9uwTwYBVJw3Z+xxnY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.2.0-rc.6010cce_1599589526368_0.03303956731208535"},"_hasShrinkwrap":false},"6.2.0-rc.61dc84f":{"name":"formio-sfds","version":"6.2.0-rc.61dc84f","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"6bfbd02933e470bdfe10ec0d5fe7359f45e6da8b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.2.0-rc.61dc84f","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-tS5ZAdWhrMu5Qx7ZZ2mG+Ui4or9OIEV2NtYfLy/L2SjrFWJQmdqNKJYA8rJ0tbdMwNL723VJoN8gutg8Bj77Hw==","shasum":"047ff562c6400faef10434368e40a914f7915fe7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.2.0-rc.61dc84f.tgz","fileCount":248,"unpackedSize":818082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfV/zcCRA9TVsSAnZWagAAXrYP/0KUl/lUTmLSgw7fnh42\nDPal9b55GCodu/q5DdrisaaUSxaVy2oUaFCZkigcDOwpRUTZyEl7GD7fyRFQ\nUrfIxnxY/Jv4noP1a9/mgRoH9zUwMjhoOvX4HyqROJzbCpq72Vzf3SjXu75O\na+NIjiOWu8L+F7KoDzrL0ctOSh8yrtQy5U+VRiirO3KZxe1+qMN4VXr+7vdc\nA6Mjlq9J6VjOsJsUiITmdzVD9bIdBhks+9wOWYTVbUEDfAX7xK0idg6cmi3E\nNiGyuQjk6OwmNe359c1RqgPVXhSZwSsay4Me10rFxPmfQ6uJJFoOjaFaElPl\nxwfaiVbTj2uiuNpyMC4bkr3GSn6TW1Xkr7bC22BX12K6UmNEQD3nU/HQpHNC\nimVWG8ZA9a/CrrhYq42jgJL0E+jry/Iqf7+3OM5pJxvuxpmVzuwCObDIy6nR\nyCSn/G9VAiCAg6orNZSRY4fqHtnc5F/qx18oGCxSYEuHrA2xjHNh+UL5CXmY\nOo96GJdeb70G0K56bS7rQiPTz2J3rosBhY1NlJEnub7rYaxLpE90rSm+22yx\nEDAmjcpBvnvbaYIkFCmd9IJgJplhRCt37CoORpVXR+U7KmqgvYReBA2WlZtK\nTnirTJIWQt0iprvQWLMErhiGHQavUgo5DPKhMvAEJlCi2yKrW93qILg1i6RA\n5T6h\r\n=BoiF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHpjj5SAzg5yAWisTRJiBAyb1ChENwdL7wsrW2lyjW6HAiBGEYOxju2m4eTWQqkJIgxawSSV+ZuQdzbEKDMZJ/HqnA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.2.0-rc.61dc84f_1599601883214_0.4177479027258193"},"_hasShrinkwrap":false},"0.0.0-05063a1":{"name":"formio-sfds","version":"0.0.0-05063a1","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.10.4","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"^19.4.5","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","node-fetch":"^2.6.0","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"3ce020c3550f0cf6a1f45088b21ba027fce1f477","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-05063a1","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-n5PdG/l0DFKCeqG3uxylOlLtAHXRwJk24wc9dO9FGlyIPod5MA4+L+4weCekk7UgMwMUFV1e6Gmug2WRnySUYQ==","shasum":"8c8f74acbb13193326ba651190c5ad16361f0c0c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-05063a1.tgz","fileCount":248,"unpackedSize":811501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXP7WCRA9TVsSAnZWagAAOqEP/RD9TA8KiJC1lyPCafBV\n5/169DL8AN0sCDzBh43y4YxmsO3W+6U0g6DKw+eG648Nt9venXYo0z8D1nv1\nusPXxqSQyUE4zR5N7rHk++G3EBgMyZMPpxUa7zH6Pm2CFh4JQ6uTEs3q18LO\no2bL+ShMPpYOG/d4RgmZsyfVHGzJGfxl9xtumDpuvUDpFMyy2EoJQeHnm1oG\nyZ3en1dn+wbSs2GBdCRxarlXrsTDZOp0d4X/zwgcg3Uep5RebDJiwU++NNiz\nuaV0Hx/EE9qsTozCD7xt0iduT4qqNJs+PawhFSOSg0QsOV9byBosCb3XqBwH\nNZWGZfnsTjmohF7g9HMGW3/kVXWzRgmaN+lU23wXYHbCMYvLp9RX+7SA1kGU\n/iMvx1XTZPf0HMwQZoBIqeDUwEqTDLYc+MztD44Vs2LhX0k6JQpXEuge5GA0\nZeU6VqmnF6aa+KP1aAzKO+3FhxXrOVDhAJR65rKLrd2JBGgFxiFrCVMxQEje\nEwSax0Hq6U+Z/0pugsNZsSv5Mkmu/A/7BjwACPUsTXBYDDXtu1mAPRBX0vcH\nImME4ApBO9kj31ySOeUBcT1V3HjrQ7dlT9L1zfpVKrPs+O/h1FCCs7GBOi+l\nCHInHsuTcHBrCicw/v88dFCu5gLO95Q46/wL8n2uWE8N0cyGrljnosx6rAYk\njapG\r\n=tptu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHOo2qgEJLNfNSqPkR5HlNsNz77e7cuouiH1Iz351Hi0AiEA6NVGz/VbrGmKbge824sHQ3kLsHpHHNmLJNl7Vl5Ullk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-05063a1_1599930070057_0.6058606587741453"},"_hasShrinkwrap":false},"6.2.0":{"name":"formio-sfds","version":"6.2.0","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"gitHead":"6ff56032cb0133176667ccf2b3a50dd723ec7c0d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.2.0","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-G6yeLcgyS50uzFCOdnYpBZoTKZM3amCl6JfZnP2oH3uSv9vV5TfxBkciwl8c/s99gPHi8oaPg7yZ+yvxn2ZB4A==","shasum":"3bb3c9e60421e4fc954f0b93a0bdde8e8c87213d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.2.0.tgz","fileCount":248,"unpackedSize":818071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYS5/CRA9TVsSAnZWagAAqasQAKNuSRWuFPt8SCpIsSDy\nr3WoA1PEMcUrefOIKNdfy54kC6MKKKcutUEQufYU9rHocl2AmqFyb0tTeJUm\nV0Bgf/Nmhp6xc6ThnNu7ixlRB4wh/jDT0w4ekiUYwZqcS5E/xjfQzI17hQR0\n+3hOoMnN8o+9TYDMu0hJGEG8mk6+Cew0aNpHNZKETZ2ncvjygpTvCKp/Nf7u\n8vtHyZcb1qS37wQT8I+x42voDqfJ2nvu/UXs+9Q4qxbGy0RdaD7v4OjB59mJ\nbNYalUVMT5fjiQoJUKrEow+Ys7+ClfxRuhaWhjowEWGWDd6fR3PcTPFulnrp\nm0R9afA0qhFEr3AqIFBED9hjW8vU37lg57Vgt1sq00N+nmW8AMtnmbjyPqRV\nBRgHd62gBqyheD8xGubrcXrxgryryJVtkNxqEQdzG3ePwbj7IyLsxECN0sJJ\nOl9D6Xx2D70zerFhg/xp51NUfzrHQAmk1UQYTo9cap3igOSFNm9PQxR4B4oR\nIvo2Y3Qf6bLa0LqP6gEXzQXVt9wXatZzxJg6BF2HsRhT6krUKl98lf99VsED\nlY93EDAwy7ZSzqqH9x34ureWpjoucS9QWhJC8Q+VOTuGKJynsHXrs3LaeBcY\nyLKCIiKDUgpSUSs0RgmU6MRUEhfYHzJYUdNpiVTrhiIqNskHTbK/IDhqv4PL\nPnCd\r\n=GFpg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFgJsx4G/dnC2TeI4HNeqEhoXZJBpK9Fx+6cbjWqoSsQAiAQn9gsZ6wY/J/+niLBv5PQJ/KrANKKr8Fs40veANMRbQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.2.0_1600204414818_0.23455923534198853"},"_hasShrinkwrap":false},"0.0.0-cfdbbab":{"name":"formio-sfds","version":"0.0.0-cfdbbab","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"4cf87b737af99c21b6cb1ce3c1173ea9dd0ef936","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-cfdbbab","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-CL7bSR65ZWnFS54g/IQafZRKbJVH6iAZHXHo197H++tjoavYhnrK0zMBqmnawGe5OsXrJPLoc4pkp+lZdJxcbA==","shasum":"5add8bbe03245ba0f39f05aea720512e03bdf7d7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-cfdbbab.tgz","fileCount":248,"unpackedSize":819173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYUmdCRA9TVsSAnZWagAAhg4P/jXqKBHHXpLzVPDvMxrI\n8m163YuK1VTwgPqVwIOCUm8bWkEtt2zb0sUaJfIZd1s+ziNs7y5jkT22vrJR\n6z7hTkVcLhDpmof1JnsMcjSFX3gFDkiNOFGhsSsIR5bit4ji1ntrcoi6kyvv\nfv2DnLYJQuayHhF/7V0CX6lZzn36JLcYcaffMvzn2d384js1ycllyVU/XWHe\njVCR5fWyPyDLax9J1HQc3ClMOb5IwIGuwoyEzq+hx/xJZsd21JTJoZ41oyBX\nSxIa1SDBlEsNMCNIcfeZJc7lZVQfgowdx4zZuoCqLyW31v5YgpLk4DD0R5uC\nmcTejOndjWbl5PNWTTEj1YZdvZvKpWBLWpHv3jeQS9DwXUt1FYKpPpyC15xQ\nhvXLLEvOpopTDQgauJAeYKZOmAXtQViIO7uC60YoQhMkzEkNEUnm4IldfNbD\nhjHHXIngvoFpcT+OjCYYrjInt5XkUL8qRbr8Hd2CilPljjbE5HUlN8lmYw3C\nfrWNzGikYzZLcC2Yd93nBJuLAK7HwDHD4XFJrA4Bm5ZiMrlQ71YH+xgTty2B\nukw9aOIzFtm7ymvG996EbkWWL/GVLjci07DeYI4gtn7g3Kwi0iu74F3Ds1m1\n7I0eoM9eMHrTV4hU0m/i+5bC1IT/WyXjts8QBFuk3JSF6oh0yd5E5LZwobw/\nbjEl\r\n=7DYd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCr6gYrDatDdSuJ/nO7MRsJqBstwSgBVBRWtnk4uWCyEQIhAJ/Pn5T14U+tJZKuFw+TRtRU++bytrS6+KyDqschUNWb"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-cfdbbab_1600211356497_0.2515711750879712"},"_hasShrinkwrap":false},"0.0.0-520014a":{"name":"formio-sfds","version":"0.0.0-520014a","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"955b264a43fb90ab85c98b6c8b15b2a30922926a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-520014a","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-CUEx5F9HlHm5PD+syTtSO5L8s72Q/aaeJDobHkKoV6wX4NBrDyqA1lrfjEiibN/2C09d0XBTx6SQ77UcPn6umg==","shasum":"a96fc4cd7c62512557a8626e87adee90dc653ff6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-520014a.tgz","fileCount":248,"unpackedSize":819175,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYWTxCRA9TVsSAnZWagAAtTQP/iA7zaaSIpbLbgppzrAr\nM6f4iPsCfg+CI2A6/vxaWJY0n3hiWLGYGvQwxnCVsPyD0S07cemocdOkDYHG\nzD87r9LPQLSjFS1W8rI7X3FUTXIak3JBq7zaQWql0yrj7b0/rkRuysfBJiK6\n7VkX8D+H740e4zEeEQmbCedrrFC8OC9E+2dBbnhTXgNCYJd93bkSO0cwsxXc\nW2O6Y41yXzYWme52hahA1g9sQs3jHVZ2j5hFHOXl+NzlCZBWVsh+bxvKgfpG\n5wH1jJ7AWhoMmhcjCL12cZJa+Lpt6sgZW+05LgBFTvX04WFcwHVRMjEGcnZr\nEwpIxLcXUpKh7+GNdL378VetDY8Ztip6aG/ukPw2e6tpAQbi2MDxKRV4Gw8U\nYOt38YnUiwMWIjaILQlspu1r15jjbZ2v+zubW2euQEF6JIAaoZP9Kt6f7Ois\n4V0EKjUSyOwJJgIM5TNGiOwp5uK5KLOHFIy6jQJy+pGnzcirXispopsb0Ri0\nGQxW/kfMvcyDZg9oAa6pgwMCL5jkqSw1V3tNFu9PBiA7Sq7XJ7S6t3HgcTIN\nLXvLHIR9SpTCC5GAx7ZTU+/fa58EbDQsmGKRqHQDO+kihZd3Q6u70443e7Ts\nlJ0e/vI7wwjaSI9K4AYsHKBdc71ACll4Q3lX/IRtQawmrkc2hki3iLCt58kW\nx27s\r\n=/iuM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbxDJktsPEJsjyoR43QTN55jV8Lkr5zIUE6vGQGG8dNQIhALIo8TEBzdv2L5+hf4lEdS98P2wuPA1E0Mu6bMkGhj+B"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-520014a_1600218353184_0.04690446960852457"},"_hasShrinkwrap":false},"0.0.0-2400ac9":{"name":"formio-sfds","version":"0.0.0-2400ac9","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"f472eadfb81950e0074e7146ada8947c87ea215e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2400ac9","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-O4WmtDF7IK2N8Qc5aZLRxM3mE/MToWeLVDGyNwJ3cYfKvGEN82PWoGDqF2v9x55fG/5F76htYOQdfN55oFt64A==","shasum":"edca8f4fadee4623178ed7cde4def0a26667c995","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2400ac9.tgz","fileCount":256,"unpackedSize":894877,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYlQNCRA9TVsSAnZWagAAajUP/0HSmyXZbaZaXI4EmtYf\nxrMplxLVPE3zYNn73MYrElG0he8DuHIZ15p+4PjCOC7DxRlpXYDPWTUwIBIL\n3B2qhkwB637CQ22uf9QhthPaz6jtR4I4oKMuVYmk8SDRB4vcq/x8D1Ls5Zir\nLLl3FCpuOsnnbEhnR5+j2coIZSXhBapczKAk12m8t7e2WMw+GnLOnklmPi4T\n9H9FGLvVKSEQ/br01BX/1r0J78ww5txjIQ65Ng7SLNdDYuLBQ4lLSp+20t3l\nEwBggpXOXhOE9hS1C2F3jxzdsX6qsQ4I31QGdFkV+fFtmqPWtCslipjx7OPl\nidCiqAlgYtCKWyvXp8MY5GDXQEYKZlJSPY6BmhKbIvKI/0F0+7vYtm7MR/ZP\nc/s6FktWLMH2wu3f36pTo4kSAkYN9j8vagVRQWtOnfXWuZRWcJ5ORDeQqoQW\nuhldonLXGv1essMQ7tkVApe4F2NcPdaqcFktswKiygVhKBk570iMQsZkGStP\nQKg7lBkctCyoOzmQ/zeJqPhYxZQ8BOApZK0EIWVf3INHhONT9zWxGzyticxb\nj45EsFjpqXyKgefHCohlSOrRdCmk/5EUErh8sEk0icDxHe7GcyrHHo9nh8zk\nDLsREgVZ0nWiYM/VKx1TvwbvOso3c3m+39tNVocM5TbR58vbkUaGji4eLyYp\nku9u\r\n=aDlU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+XAj+y7pOFR3e9CN9ZVm+n7n5ffn4krrsLtxi4duo9AIgGc33lbel3ZrIX2V4RJqM57llB33FMx+NoWYhEbXW+1A="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2400ac9_1600279565265_0.35580739041554543"},"_hasShrinkwrap":false},"0.0.0-1c58ca4":{"name":"formio-sfds","version":"0.0.0-1c58ca4","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"07f327c831b2472fb59d2ee0f7ff7209638e5bc6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1c58ca4","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-VXyhppsfel7fFEmJlo+towODB0Aq/dJ+YAJ0+RVotLipiPktDOpqU1NSHIED9rCIPFYiHmFHbbb2LbVz15402w==","shasum":"e1009c15b00d3bdc2c7b608ee1ea89ba474c0c0a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1c58ca4.tgz","fileCount":256,"unpackedSize":894811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYn00CRA9TVsSAnZWagAAPRcQAIKMbja1R2scz4ZK2oJV\nB2IuUmFwqTc/3FpIbnw9F/YuoByY5PLYBt3VoIOIb2dJ/forg17k9R8iPvb9\npPNDqxMbzd4fVF8fQFJEqTUhOr3rpDV8Uls7cqGSmzAUZ8XIiMh6TJq1SYIm\nBEwDB34D1LbwMIjoFJwuym9v7K7GpxWN7fk8GThTUZdhkCszcHPZVn39zmGU\nckn9O2kfhx398jPpjL4LJLWRfFyCg0IP6CAO5OTUmcn1Jm1jL7ylSR5v3KrX\njvcIJ9KidB//HhCHnepHxCSTZjpknEUy4pE/ua5wInedN6lLd5BAVVmM85t8\nwRRZy8rnfVLYNrAG0fG3JKH5WGbmQK5E0iNybu1QIamjU58dlOpfFLuKvMM3\nDAjtS+/DEG4wLt0lBzL6LV8fHoKHfOCbJiMmXl9X1E4waL9ARGlv6svx07zU\nO0K0V2z6jhb1sJqQBZMJZls3oA8/RRh597yGN8nst20FoOgD/w/577eE0QXg\nwpcilt39kDSZXAK6oGtZyJ/b7IeNtw3UW8u5iER2MjdkRyidk/Kf0xHp47Z7\n6mGhLsborLTktX/nePGjtRiXRBiXQ7rSA/fP/NWp3CCL3oDcNQpWXrN+Hi6I\nR9zTf8mTt+TN3ngBNHk00y/39BF17G+eluxcno7GRFGE/f8e/eopo7D4WVt6\n5v8+\r\n=GJ17\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFcGdCozd8AQnZC5TUcHycCS+638OT0YqG1NqgKGIjCMAiEAiRa0enoFdiDAKdzw3gkrhT9s1wKqyXgKfKjc1+91iP8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1c58ca4_1600290099492_0.09904104978491013"},"_hasShrinkwrap":false},"0.0.0-74ca0f8":{"name":"formio-sfds","version":"0.0.0-74ca0f8","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"6de04bb38b8ed1096b4c8e740e254afc15d1109f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-74ca0f8","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-cCu3Wdff95dMUTS7mWx52Ec0hI1ZLXPQwJ0T3jqaHUWaiKR4hVX3UCmrHbsqJVzWscuYeVYe1RICsH4xvANMkw==","shasum":"263a8be789bc8bb6c578bb6811425d2f2bbcf981","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-74ca0f8.tgz","fileCount":256,"unpackedSize":894810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYoJ0CRA9TVsSAnZWagAAFUsQAIaGTIG8aPEIw6ya4Vxq\nkvaJzfVfEIrU6KDjYxZQk8MOqaP+IEmA0JiAg4HpVZN3XBIOLVPRvA+FTkC6\nQMkaATgYEPL1nNr9rn7/BgxyFGolU07XPeHpiFXTt7sif9YflDy6d9d4Ey0W\n/EczZFBrwFBAtn4/Sstvgyl1nbr/DVS53eQ1OoKHx/HiaQf4uBmNoZXsOIzj\nZwSRc5ugiMoDVCXlX1eAkkjqjxo7oYzEYZrIUxXUWsH9iNydTNaVrMIeUKvN\nSVSwX4x5nddtGgagm3rivPtBGVb8DCfGrqM0CMVjLvjN3RV2/wdnK2SFtQ9G\nICjvnFXgKbgHzBVohTRAkuvCXSwNwwwdznqSroP2+ieqKoD48w3A+gNvfPar\ni+NVXnYzMrg85PtcVVMHMw/xKIm3c+kAnkMxpbCzF+evjWm2HCIiikvvYdLV\nhUtVhGSGkz877sGfvbFrzU3/2WqqIY0UhZkztbiLpVsCU/okK/AhBGqRi+Ul\nPx1TVS/jxLEGC23GylX3dRnYpTs296ZbNpVvC+kdgEnJHHS2MhOzazOrBYxA\nFz+kV5vHyq/wXfihN0utq7y0EvvQ/Znvgjm0HLobDTf848FFjy1yNxckDbR9\nNvH0p3nhHTnyiqU5hGmhKcxKKSKVVH+PpFHCgOK5VOHRtfI6fF9HbmpMJa+Y\n8lg0\r\n=6rR/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH8Q5FhyFyan/YTu4A1XaBQxuviFsqJ9o7ArkMaB7PtKAiEAh7+FCXsOh7Xkr4dYcw/Yfbj2d7fAIwZ9Fs/A4ZrArGE="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-74ca0f8_1600291443868_0.1155758131882243"},"_hasShrinkwrap":false},"7.0.0-rc.8d51a2a":{"name":"formio-sfds","version":"7.0.0-rc.8d51a2a","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"0ab15dee2215ef78cf4a7ec8aa6996038128891d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.8d51a2a","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-DEElwrCIUeQ3J6G9xjxRft/hdELst+E8qxiGlZKyr5GKlVya9aMwPdzhaIcLMv09U5ZlAc840YrL/t0tyTyB4g==","shasum":"45c23d8e0bcfd1b2449a019d550852df3c33a2a2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.8d51a2a.tgz","fileCount":256,"unpackedSize":894813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY6afCRA9TVsSAnZWagAAo0gP/R3zuvMR8kaMjq4q1OtQ\nwUq2bN+ySoxJjGQI8WNeIAGo6a2GHfYCpiaizR5ZElRVuJlFOWVRIr3doFkG\nCkYw2q8Q9YWhws8OgrFFMPjs4enmt7hpe+4/VUo9/D21STYACtjEuSpaYS3J\n9AWgPTnLT9TJMoDs0IECrdZtNtoUCDkBif2g8Lko0gBm/MPw/LYoT8B0fh8l\nt/fb4pGl7rBlbAVSkEZhBgcx5o0xQFZIAGx75mjwH2JmOXCNsiD2dLkJeA7G\nUvAOUJURSDFBmZ3/H9TZS7mWRga/w2VIMZ5LnZ+JsfF8rvBTDQgcCLVUa1rz\nnNeqkTV/p6gZilcPuHi/x/uxT96Nh66HR9juJbr2Y3OBRdNsKgvb3QDJmlXs\nEJ7Lda9osm2wTNyeNHbpF5IJ2BB+0M2ZU6Lvqw8YQ/tUMIRDQYmAFe5PX9Np\nCovV/MBev33FjKyKcp1z9JKzgm0FjghluTtTRms54DQebR1sow68JgI9W3Yl\n7QkNah7vbvVQEtREGNvEzFcuNVwETuJ4hL404fOQ4RfaZZRXRTBwQbIiLxeC\nHufy9UbFLyFx09L55q8oOVT6qJIL+90bHMAy+ICxUYzV3PQEwASCLchXeCtz\nNR+o6ThItyvJXI6LoIQmwWVQgeUDgQuVJhCGgeWjW87jc9aUbjBH/nqsdlx5\nAllv\r\n=ynSM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTELZ9TC6c3yPRjxZESksyCTWePmbIwkOTy5ay0KNnHgIhAI38IHGGpOpL+g2yOSI6E3Bjofb22A69Dp22uWIJut9W"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.8d51a2a_1600366238767_0.9606092728219746"},"_hasShrinkwrap":false},"0.0.0-dcadea5":{"name":"formio-sfds","version":"0.0.0-dcadea5","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"2691523c0b3236c59adc19cdce7f5854d94db2a4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-dcadea5","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-tfYB79C/CyERCpjZL9gx7Jai8hvd62R5mDc5BoUOJmgogGWgoR/FBbZbMt6+FdM+GqOk+csq/YEoOVmdVt+yQA==","shasum":"943e530288ff0819ceecb07c373f24e8bb037d30","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-dcadea5.tgz","fileCount":256,"unpackedSize":894630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY6eSCRA9TVsSAnZWagAA81MP/1EIeNNmSNa4FcLLdb1n\n8a1TaLV6cgw3oXIK42zogK038vbREj6qj6da9GGpVmfgkHeaXryHaWZrtyNK\nqUiEUm/a7M0UdVWObV6CFujLnmwEBaUo8/f7aQh1J0RV3Yemz+a9jbyipsVs\nbMFN8yYSGOYO/kZj1JqyqnTxQJEJPbu1aIGO3rGYYo8Usth+e8yRYF0Die2h\ngDOD5PL2kJQg16TQyC6mPG3v7I4aHcaKbqmY8qkrl/bE/eeVoveuW8gVgwdA\n3wNGpBAQ/AIirGgqF0PP1Vye81f9Pr2wx/6SGDSMRfT9wEHmhZXacJUXCmPE\n3rRJwRKzniPLQbOC9uxUkqVRkwh8yagHZDkVheOPTxkvNHpQI7DBIv3lskJu\n+/3VmTaWcGMYB1paDApFm2Fh7xjGfA186M+3bhp0L5zbWIFDJEDTo3SBY0VQ\n52zfcqPe8MPmnYUhLRI6TBBHqaYP6gwPhcEnpy6vdis3Thto5UezFZsv1ePl\nQiKMrSfJEI1gVRUHzusJBpYjzU0MfYaNRHNKtq5V205hvAwSPYvd0rJ3RfRW\nL2vYixyx9fScv364iM2t5qWTWxOTDwCSUIGk5ogOpB/2neGA8zAKwT5TvVxV\nIQxmJRecFO9z+dWNRZE3gQ4m6eh9Og+w8whp0urse0sZ0Zq9JNKmBfoB1+2F\nNTzf\r\n=jSlS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDdwg/Qoe09V2ChyoVpEVaKPvFgvyTJBsQmp4k9IsDRDAiEAxFQ3WkbEhQ4rqE87CsKMQVSshBtpNAmyGkJdfLQrja4="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-dcadea5_1600366481933_0.7191300377002543"},"_hasShrinkwrap":false},"0.0.0-eca4808":{"name":"formio-sfds","version":"0.0.0-eca4808","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"549fea43e1a23bcc40a93c2ef094ecd98b36b143","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-eca4808","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-iv/Oc7Avl3RI1Kx2lcCCJ39SxOgCvoc2iuXym26kVm03u9rA86Cuazwls1BQ4X1hth3TbT4C+oxnC2ccnIHkEQ==","shasum":"e5804f1f58e33bb27e3ea523599edf9961f1ee92","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-eca4808.tgz","fileCount":256,"unpackedSize":894846,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY6jHCRA9TVsSAnZWagAABRMP/26L+T8+BzGdzruaS6Ov\nN6NrS0wlMtdtgY0nnFnV9J8mver8+jlEqpsF3TJCkGsAZN8KQFrqmr/qWCL6\nDZUvc2Mgt9HMOL0P240sJxolbJ+ZB8tEzw1Ughn2NxcGjtT3ia6QmNz3fKXw\nONR4TIl13VZ+PbBAyxXNzzZI7mxTzMkkxuy0SWt+i1nLCT+OI8f0+fQAFrD+\n9y2yJaYySvN9z3Ejshc5Og0rTXxnxd37ymxw4gj+YZN5ZMzchrgxgzY4DXkU\ndbnNeZbGXhesRSZciSUMZ00kLR/xQcloEyCL96ONVWHIIEA4LiHimagKBALS\n3Qb5lpT9ZmJddmCYJr7ZhyuyRCayDE8K0k5JGoX9KDKTZUh1FrMhGOIkbnYT\nZ7X9FVR0AcniWxdUx64/F37wbeOAO8LKgYMBOLx/UM9caBVgCwFX4mYnXv2L\n0ckelUb1KjjQalPg0Jj5RZ/RzPs+mTqu9HG6KfrWjIYUvnxtkOCNgdYmz/OD\nCyiww9urETfgC2PjR6tnwm0uRF+wl0qpKonUQdfAWahKN1YpsxPXJGMeaKX9\nzo9OJL0O0PPBpR8Q0a523Xv/5I25GeIP6/MJxSFMVXY6BMyX3Ew7zvxFdOnG\nxvL8qX7LHjdfRUedte4uzECrjgITeKmcZt+LoVdge+F1Fny62GhqsOQ0IrxQ\nbfkI\r\n=0kHl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE9+XUPw5v/XbW5/T8OeS8eDZCS9guKnM3Oo0YSDfCPdAiAnqrFR6aaLbhb3hhwnFoaMzIhUeB210vYGEcJCxBGswA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-eca4808_1600366790605_0.21382930905730735"},"_hasShrinkwrap":false},"7.0.0-rc.7885e80":{"name":"formio-sfds","version":"7.0.0-rc.7885e80","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"f4e3c5778a570fdb9d0d5bc07d60dbc0ba8a1c5a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.7885e80","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-GshQJGptB3zVE/xgPv2zuKjc0PxqBMzmNOPKebivbC7qH26w90cOlEOQDOvr/1IOmNkgtUtzatDMezPSHPK9vQ==","shasum":"048795ee79aa334ad670e32e21f9ea58322ec846","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.7885e80.tgz","fileCount":256,"unpackedSize":894849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY6mGCRA9TVsSAnZWagAApPYP/RWZM5Rfipdz8UeqqbqU\nBMQusMNcAAiALZhRE8ELwzoJvGZd+yCaIt5wgsnqcJtUzizHFaLR13+6QR+N\nEr0cxF73y/vsERW1dIHJldM6upeSDIJWdoCvTvySvJLNtTRWBZ5KkHyBmyPe\nBjOFFrVZ6vHhJStYxtli365Sdeye75vPUJAqQXEUV5Lq+i3e2rzyswW1sduo\nWSgVKODLQukydnWsvvs7wvW7+6eN4CxP60bCgM/7rpsJFzFOohJR/R3Wdeft\nJSqU6vV6G+hKXD1WT3+c19soI8wNR+t9rT4sMXzinrHLV2wWgZ/vtEXbEdHn\nD6uXNkrETAIoAr6ORQEshPsuB/LXYCGejp8IxnconqqCFO15i3FdW5bVNkGB\n+ZcMtRGYJHYvONtiJTbUemwJm+ypR99phH5MLMl0s3KIKl5ZTQmtWdhHGfVd\nWuaVD8MTp/jS5dMl7cirpiU6xeLMrdhZIB9gwEJ8n7OR9qBAj21zdtBSFLrR\nKJQHDA6yHVEiqpu5l/zvM3XfeWcLisB2orowpL5RTLQBaplX+AEdQV6GRBNn\nkQlilI5IlyEBUPBVF2F3cq9TRsozacVnSLEj7pCBVIFoPRD5eFtPOlvvv+HJ\nTbgLzQwRip4f7zGuwxk1EmR/BK/JTDxHZPJO0yfxe4ypBd5SdWeVXLfdUgP7\nt/MR\r\n=pceY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEJ+7c5uXMi313PySmi4m/UjsEoO5Gu78Gd1dJCey4D+AiEA8O1G80iRZ6HOlXXxlNYb/u/ExMTH63Ftzwir4o6acvA="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.7885e80_1600366981878_0.341820444284582"},"_hasShrinkwrap":false},"7.0.0-rc.913503d":{"name":"formio-sfds","version":"7.0.0-rc.913503d","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"684ed5bcda446bb45454c0c8c954f6650dfdbd85","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.913503d","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ibnU2kCzI8oqJ9F3dBNY6YZe4BBnl9Y/H08Ve1cv735KAwK7PrOCOJxGCAoPOe/8IidtS4ao5P1sKyhCh6vJoQ==","shasum":"2d0e54c04974fce48206e5a8b4f4cff3a1557a2d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.913503d.tgz","fileCount":256,"unpackedSize":894669,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY6mYCRA9TVsSAnZWagAAgZQP/RzAWsXE4WgLF9jZFRQx\no3oe9WfcwSFJfkCS5206f3X3Pf++Q8y4OPd90eFdNzfHt6vV2N2IjtEoRHi+\nog34eq0if0y/117Eg5okFV/u+iE7kxa5KKo9IEYjfz4dHeQkbWVu9RxS0KsA\nmhojGeJnRkXA6Z7gGpo0nlx5qwAinCVffbZk8k5pNApb/MI571Czd486Yvwj\ndHNE/4rJPU1YRSI0ijMUbpM/3t+e1Q0spRexlDDvOsAPvMvivt5bVBlIteqk\ntWrcjfWLakR+PJw3TFoNIcwUgu+J6Gw6N9sV8O8BRW0SPxzysWauuGH8swrK\nG8BKbh/vYgk/x7GlszXZW1FlH/xkdcN3rTIFYc7th6zhYUKN2xUDCHhYsKYS\n5V4VRxc51iH90OBuTlencS2mXCpP3naPK+CU0VlzwEGNAXe1D3a0k+dlhkxn\nusooiLJKzB2Hk0cJDFvn8iU5uNsUOYJiq4GD6vDO4UbdGNb5CC/no0ygY8p6\n98Ye6ydWawF7p4QQoz3oUcwYoJVENiYYyrQpsKqLG66iOdDprtbIHrgCjtYk\nk3WRrdiyj/sA6qlOLwPns5f57tcCgUxqW6jLdiNPupecjVm7DRiTxvs8VIDI\nAAM6AM+Xkyccpi3K6/oeFNxxxlsmaYspc6Z3BKwaQE4uspf1i8YsIoYV+7IB\nGwrL\r\n=yZLK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGlXWJ6yuPn7gtCWe4Yq0yotVfmVzKM6QkWFYFhq7QhNAiEAjTY2Z3KCqyQ3nYboT8kR1QjOZxM0feUqn3lqSWdL5eM="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.913503d_1600367000245_0.7827915587655605"},"_hasShrinkwrap":false},"7.0.0-rc.9b23cec":{"name":"formio-sfds","version":"7.0.0-rc.9b23cec","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"67feb54246c0a760b6021aaa1efee13a0633698d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.9b23cec","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-hch7VB2mLbr7XG2LilexULiGftYeqXwgjF4ObTK0Lgd7QRNS+oEO2EY9GhpHuC577+sTqzvcEHJEv2OAjH4W9g==","shasum":"53143e5359919e8dffc620db683fc36c17d89f24","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.9b23cec.tgz","fileCount":256,"unpackedSize":894664,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY9S0CRA9TVsSAnZWagAAbSUP/iy4Y0DC1qrNyfyftjr/\n15GUUOOvGq/X6IyHJlLyelMqnQo65vbpWkW9ZMQ6sfh3fhfbI/AcsQbaKuEy\nI5kYrp+WsJJeVTNKLCSKy8X0Lq65K1FlTtyLjqJH69CRbcdDVrO+jVXbH+ED\nfus2sakLplvKS3FX8+F2WESvYETaro/zm6SBvDTGv/SQ983DGzGsKiBuQ7DQ\nHKRIfZdZiwbzQONUUCayuKtk7owUOdLAlvanAAD1XRxzaIkeP2DBpfwdyMfE\nqFGl2C3YSVFzR61KmXXZqVHi3onL/4gpglXt3nb1xLzVdhZHEZb2B2eveY/O\nsu+08sm5VeOMrqH942VvaqzX1qsYtsBFVMLV4iJ8d8FNFklFwPGLCsoMH/M4\nVjP164o/QzOXCFHOxM4cw9fYOzFHPPADLIThQ+vzQQXhDxQSMIWWLBFGHvnO\nmPtN8Gva4CHXKXmANxJaShyv0cMnoH/j5rWt9eXfOvaUFQXZnnMovmWJgsk2\n+TjdrS5B5jujUVQ+HS9K6zaQNIaucp1PhosqxMk2mJj+l468E3ffCRWdOqiq\nePBykcwDFEUDbxd6uqyKkX6QQIPX09vLB4AxeVVcx7sjVeDaNFTu+a2DKe/P\n5sCLMyGyRs/+7434gEO860fknEx/WXEGRRy/ynoANWqZ6voLfveWivPN7chD\nCEp8\r\n=kP/c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC65aQ4msK6MkE0Pb2o/uKKt9hem14x73tjHi0dnEDRYAIhAMI9WuyHUTR/Mv+EJiZRm3zCXL5awVQns+BrdgZWXvH6"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.9b23cec_1600378036116_0.20652317624509453"},"_hasShrinkwrap":false},"0.0.0-6dc4690":{"name":"formio-sfds","version":"0.0.0-6dc4690","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"24a0e7b2a03e88fb323d0c426f5866733aaeff71","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-6dc4690","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-RJV3nOANaMPJmTt27XkPTMpvRQ+8QDV7inIrawdyORfO7aun8DDntNGp/4O5Sgk9fUBeLMcsyYJL2OheDbgNnQ==","shasum":"53c8123eb3745068e4eb820429f229c1e18eff67","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-6dc4690.tgz","fileCount":256,"unpackedSize":894894,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY/uXCRA9TVsSAnZWagAAD44P/3884bq4Zt2KlGVshvoB\nA+Va+9SZMlcBDgKRtwws2MzGbizZoCaxxmwuDHM6F9ISnSYC9irOKLZ9ZHj6\ntsfljmDvMLDGu/rYgqr1JjcTufREVHl9PeTF8B6SnH9xTRPv/7A+SvvM0V5C\niR8GeJ8dkG8itJocaI2fF5AiJhbtQAsIP1woF41Ims8YirG5D0afFJfy4O1z\naGli7RP1v7EjdyYD986lmxkCdccVYUXassBAFoaw6lpRqu55ArDJNQudWskR\ngm9HbKL9Aaq1mJbGeLTxwYQzKbpaVedezGFKnjd1mhD2TPXZRUBecJiiCE7z\npqKmjVLiWV9wtS1G0TvLkYjYc1a+0RnUO0zTxC0dgJ8mLhBFOHlGYEUwToo4\nKt/WVgh753EQOioRXCbjEwaDbZcTdNGofYE96EMD5qj34EamVQoyaF1ZTote\nsVfu73d34Z+FKyveKKvTZTrpb/Dhsw8GLbZQhR5vdi9V6EUn9lMRAjhJ4Im9\nJ0/J8+b0WAOBvTmQZwhuIEkBTHARWmIWufR2kD10c6u5f8lccjMYRAOrR+xn\n9rp2O0h2ek1yjJXDXgkB/9u2UGGk2AeJ1lqUbvl4OGNCbF21/OvKZur272QN\nshKjBTe/mtn/MfmcMo/Q/s+gCTGwWW0KytDISXrNrA0pCeYkhaxrNOGMLglU\nLO8J\r\n=K8kj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFjTCW8FvF+7ebzG8e8t/uvzxc3eZ/K7nlcIq2XE0Z16AiEAoeBGzXHl+9hFFHgAXbtuDp3nQ+VCY2JjHSBS00CSaFY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-6dc4690_1600387990867_0.6438098165586432"},"_hasShrinkwrap":false},"0.0.0-dab825b":{"name":"formio-sfds","version":"0.0.0-dab825b","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"a386a45e5742fbe8df3e29e37d432edf9b3bdfd9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-dab825b","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-SIV6k+q9bzzJVYVpcGkZGO40coQ7nVRKjjWJRp6n1nxbcFu87FXk3mRHaQY7ENnLw8ibmaHijyipeKVlNMkEdA==","shasum":"885343e9fb09d99ebd9bf882164d89cc3cc0449f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-dab825b.tgz","fileCount":256,"unpackedSize":894894,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY/xSCRA9TVsSAnZWagAAuzgQAJZoA2vJ+yMktaqZcznu\nEhYEwRjzReujz5r93SK2MAmBhfc9f7xMAsvemTHmb0AkJ3OdyBc3j7dXqZx5\ncMbBvhMXQqaRMtub89QGcFNZhOhQNznO5id2Hf7yI6FdO/CWwMHGJHWpx14n\nUK1FOXlhlxwdfu7qVVx1jGSXUTxNy0HdHrbItjN7vPoJMZRG+OdEb1EC7xFE\nS90sKkthOsHFMcqCeh+XTYdDiXFaLF75DIwv9itn3lSBSnzROcrHwHA21awn\njnE6vwt4sbUQRUlLM8YFGNQmbACn06Sks1ijdH1bmEWi1gvRbXqv7Ghtczdg\nU1NKq8OBTOnJS8bYmnj9zEegDINAN5RPLXaJHLU0W1SYV2FrJvrT+HZ/v3rD\njZq1Bvu9SHrv6S+Dow3/qxI7OkmEJonUBkVhmP+QtAebClrfUMsPK5m/Y6u5\nrMt7zQabHw4lovzEz+NSr/MP1SexuQkV3OGeuSOHWuysbGeo5d2mAklMsN3V\nlybcmI/FrHYeBBlgJnHn0ie5QrhxhTRgXYBys7WhfXwn/diMn+CW5oDNVQOg\nVBRSGTDlqq3FFzuUeMW+mM5nUUmDGqqTcjR5Q1SFYAT/BQwxq2ZwkBA0dYyg\nGZRKm2+vv1j7poJcLFC5dXJjTTe5XR9ouWxK5nSSob4OV0Av+dDvW6sSdsHz\nfjQP\r\n=uyGu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBtzChGJLgFJOegw0M3n85Sr7PPXdY2rCxM+lxi+6DXjAiEAw0Y7eBe8toDjxmlEWfQsY9JwYtPARHDXMHHSN9W04fU="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-dab825b_1600388177648_0.9122462584391227"},"_hasShrinkwrap":false},"0.0.0-39c1d2e":{"name":"formio-sfds","version":"0.0.0-39c1d2e","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"0dca5e9d855f1819fe83b85a39d97029e204b6f2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-39c1d2e","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-qwZh/Lkq3xg/n/Xy6MxuCfAUmJXUMrFdA0GrsUXMXJDW7aFBjfy3hG/jKbmipGczTOdaxwAHWkP71wz5a5Zg2w==","shasum":"354d944dec3751935fbab3e3f5b25ed9da991609","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-39c1d2e.tgz","fileCount":256,"unpackedSize":895382,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY/1jCRA9TVsSAnZWagAAgC0P/17Qtb0KO+2gVMdHwJHD\nwUEDvZprKJUYe+uOtxEcb8pmlh76BGIt07qZw1MA6bp3r0JXzylP8PA9QUk3\nGRal+J37mzUg+gdKbVlyPn9+Qb1zW5u9ROZ7zX7N9iQIELxF+Tfr/zZoaPCS\no/qFiqpGICDRJbDhszvi+tnsHhPSdIDvtcgtWvcaSuuwGYXnJ8ABdjuSs9xq\noZGGYZ1bXnjuK5fPxMafkJ9j32NvDc9KDRr4qRAaCy8jDTSWzkaLQZSLd4xL\nQw0pImH9MCcjHUAuan8KpP5JyHEFbVRYlRvZYJKmEzCxhjGB2Tmft65AhSOw\nqV45qoHdnOg1gP7UxSHVYqHLIKaOTszl1ONqYhCOaaJgJJ+jxcrPQR+KoocZ\nCu12ryUg2A5xI1ZC5RKU0EwZR0putgPhOZXTgSBIrPZ8RF3hgcxukA5yDkpn\nBFVCXlrZGRAzV7i5UEUjk0Dys/0a3s7LSHTASecl3//c3QccuG2fcSK8puj8\nz4/rlWw1un3W4o0myxztkcwxjdef06V7PEGY/JbKpyVPP+t4l3HzjsvdoRNp\nSgez38MDagz1BFO558fh7VpiDR33H2aAEC7fCUIbfnxWlZA4Gxue2ca9KEZr\ni5IEtxvWymRLwW3hgQ0hGNG5wgXucPYajeK6R3ip0cE9Ebg1uLff1bebGj0Y\niNkb\r\n=ItNN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDwWLPdy6h/nCZq4dNe4rKsyX3EDm8RjMH0y4PeJXAefAiAv6TVQzgxj8MZCCUB6UovKNC1kiPZl3Zm7g+6XmkDNHA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-39c1d2e_1600388450457_0.46365052477138713"},"_hasShrinkwrap":false},"0.0.0-18d6ea2":{"name":"formio-sfds","version":"0.0.0-18d6ea2","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input.\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n* All components get `validateOn: 'blur'`, which defers validation of fields\n  until the input is blurred. The default is `change`, which triggers\n  validation whenever an input changes, and can trigger disruptive validation\n  errors while the user is typing.\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"eb240b5fbd767c33d8fb492ea0340e436ade8a85","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-18d6ea2","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-LWsQqojVvn81EIDmRWsLs0TmNYO1nRcnBvO45+TagkjL+AgajCCc6M+7+WIDGvnPnunGuvZj5YzODSbonpkUAg==","shasum":"31eee108238a88a7439bb5a146b4a543ea3ca94e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-18d6ea2.tgz","fileCount":256,"unpackedSize":895644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY/4aCRA9TVsSAnZWagAAC0IP/1hmi60NaYvKu9tacare\nucB7p/8jocqaApSBcv+zA6U9g1slU5noG+m1mARoHaFh6v9N33DlX7BG/bdA\nPZ2Cgdz76YAvcAbQV94Sr9ZJlqi1FxeV0E3u7Ex7O6WOnw+n8xm5IfgcZvqY\nwlkeidL+N6w/v3xA9A6/DcCXZtncgIVorXULE5kc78MzYt1wDWCTH0XqTT3c\nW98FJKehs6/NPh8/c/QC1hsxquUT3XBttttIBnakHYn/rrrbNNWoEBo0b67j\nmJp2RAlUtEyTfvvVX6kQOS5cGr3c/fWkT4GTg1rhPS+MSepG+vsoK8NzKRXu\n0hsKH9kOcJ3BUiUg9sNl6uiychz/QA5Ib7ZpVtHSVhTVvxE3pm78Om9gj2jK\nkrRdE1nfWlHHXY+ZeSydlY1W9gAiQi3JLP1VfbN32QIEjSOJVI8FixCmUoYW\nBu0xigNpNU6ycZle9IeQf+Z2bjxEKRUrb8I4ZG80rqCYh/ORaQ50DHTBrxZ0\nV1e9qIGa3hXlHFK53iUKQkAqXOlkv7uxR9IhBkbJxkjCzjXgwcNSEC5V7wpv\nphIM+oL8l7Bre97yD0t9MFPy0gB0vD/gXq5Npulsq8yUHPuLJKlAX6aSYSrr\nj1ctL08IBaRHOPSte81E5CQ2fizOb2GQUwBj3npVpE52Iy8H5domI1R+YSfr\ncjhH\r\n=DLLV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICshW2sJxu0GlcQaxlGm1UUu1xyVpIz0Xu5F7trToQ6mAiA3U3RI3Wudm6cfXcM4MCw4HuI6WHmjkMtcaQlQ2ejd7A=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-18d6ea2_1600388633530_0.6071558608747691"},"_hasShrinkwrap":false},"0.0.0-a52d8c6":{"name":"formio-sfds","version":"0.0.0-a52d8c6","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input.\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n* All components get `validateOn: 'blur'`, which defers validation of fields\n  until the input is blurred. The default is `change`, which triggers\n  validation whenever an input changes, and can trigger disruptive validation\n  errors while the user is typing.\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"1fc7df62d89abb18665f8bc8ee48fa370988724b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a52d8c6","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-yEsN6GzRHspwYSqMp/ygqs5TCF5h7UIFGz12DCnmsk8z1TPO5LRSAV4Z5Tmy0LJQTMJHwBI8Oh1E6eFC2uLgGw==","shasum":"ed963f69abfd2f1be23568fbd8e45bb6512984ce","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a52d8c6.tgz","fileCount":256,"unpackedSize":895841,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfai9CCRA9TVsSAnZWagAA51YQAJhP+8KdCpvQvLY5rY3M\ny2LhHx1+Ah5EtaZsjyD8NVhY9eMkdGyHwj1w5/FCiA5bNgAuNTa2FJZ/RxOO\nEB63HeF0BmXT7rvF6Qm6rwLB3ymySNlYZg/00FsvFrFUlPROBp0T6HWQu3pL\nQVhmcX0Zeqrday/u2n0bN0W90ZcdFcd28fCJi766dZzoIUoJmU9OBY/1iepj\nSNVCyZ0Tj60rWsFJuyGBX8wSisyOKEH+cb+S2slWhULmnYY0eNCHqVUEr8Lh\nPDyGK82MjuciBJEQrZzHqpqZS6PE3RiptS8Yaw61G7Hs+p1gJckMBvBvvx0t\n6OWvomqykYL48OIiS9kEURHqAXCxnCnpD8WE2lUa5kk1iGqzz9Iey/BNCKS0\njUhsxP0sWntwoNYN/WZfp7FgDxMWM4OlSk1ityTqtLLBQpVO9+g7bmDMe/Dk\nvRAAH5Y6Gnpp2+Z/QtRKnCaYYCu8MdZjT83/TGl3A2v7M2QrniGlYVykElJB\nrFZsd085j9U2G8qhCw4ltdvelOsULXV5pLDXjGuny5K2+M7n/8OkqmlxwhgZ\nqNL1NhXFOcT9Vw0FI1Ou4NamrOBB1LJHX1bnVc0XFAAUDz60SyuoAbqAirPl\nt92x55LEuq9AQcKPbEUbQJMZraHLB1hO37RSFTeqKcW5UP55bSsTUrCJh6CU\nM5SW\r\n=PT6l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5wI+EbMNTHdKPrJCuJZRmMIakRKck8lrCp94sp+4SrAIhAOh892UqjCrGSOwo+ikUXW5qTXB/G4lnbCU+ZQV5wy5L"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a52d8c6_1600794433376_0.9880357886465774"},"_hasShrinkwrap":false},"0.0.0-a2796ee":{"name":"formio-sfds","version":"0.0.0-a2796ee","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"45314acab79d6376dc733474f378b966d812c43f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a2796ee","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-c94U7T4ydoYKdirwbGm9aO+kZAsR44xINZlJUjOBzPQxzo3qI8cSVQUp35gt/3W0ro+zP2A4bn122BHYTsHmQQ==","shasum":"343143e93ea44345e870c5a3b47972ae4456956a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a2796ee.tgz","fileCount":259,"unpackedSize":895946,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfanptCRA9TVsSAnZWagAANr0P/RedFy4NLiOGDOaGJbRV\n3YjQu5gLhUN/b83gDbktH7v0M3lB5/+pHEzqoyfQjYZQH9Fr52PftxPOyK6/\nChqeobhZcKKLaOhPEJ8PD0VkUKpC+zpUN5+V608HN+2gXw6ifOYgeKyGLazT\nqjUbwIypN94K8rlGG9E2dLIAmsUIhVC6iN5ZpYO/2sGvZZcwXomyNZLHb6HT\n8lM+kH2SW+Nu4WF3QjaqLVx280B1u/9NDJDSLrx/Nxn987s8V1XCC0vValPl\nRhCGuCBH25Fv5BJ+tuoULf+WkO95o/tF2cm3oxDSrfTGayhzRZYq7FuDSIoW\nsaD9x96SrGiMdwWAY2q5NsFxClUgpDSdQOnDGrrL0+EFziAz/RqizcHfOvTz\n4digxrc6PVRteo533r05wzkHN99q24FvhFiTiHV296/IQleV8S/SL6PoygXh\n9d/vJXVddUnPT5Df9LXHqva9IsJaPIx5oV0WpL/kxjWvfczDgq2L0eLz2Tzu\nFInUnBPbTOgN4gEcO8MwO6Pbxf9GY05RUjBx7UC4kmGxpgtYnfbzq1VvUqYx\n+leE/LBw1Cj4LOESa+4LH2DB2R9OpeqnvXxpaa8EQmiULQA9oJgqrkrJGuov\nnv2lPcQDpc8rpPphuqSOx5nc6T31+rdUuGEfGhlV2nZGsgC5B3ZkYShCSzWj\nGPRM\r\n=r+MV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC4MmwqeyTd/26mZHA1kPtibEjdmcvmyHnd+xKAQQy89AiAdvk4nK4qR+zZ1AqnZE16IUmFuY2UnbMkkuoAwCzyajQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a2796ee_1600813676505_0.9171127233058824"},"_hasShrinkwrap":false},"7.0.0-rc.ae7c912":{"name":"formio-sfds","version":"7.0.0-rc.ae7c912","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"0b910ecf2a09aca07303f81e7eecb2c59867d073","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.ae7c912","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-9tVFms2CPaVizLHNoFj9BeqTP/tT6gpxds+AruneuVfvHfA/oCj2KyqkRXBNvHlxT8dFW4dt0nyI5BgATuf7xA==","shasum":"991c9a17237571a962ff828a22898535baa0a185","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.ae7c912.tgz","fileCount":259,"unpackedSize":895949,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfan2aCRA9TVsSAnZWagAA/OYP+weqRfNDcJ8uHKg9HxRH\nKGwDv+FS6cozxQPLpsZQ8Jyij89HWIMD5Lte2nV8x16sm69cdUxdVxQK5G3c\nLY6htUcx9SBvjTWT+NaPla8JmbhH0UIwYLu1fCs3yiiEkdegy1isWasnbynK\n5RlrOerNekGnQb8KmzILGNON+WEfCAlFKjo1WEOIGpXQk09XNtmqbVTdwv8C\nYCLsmcT1reF+IBkmTdUuTvyQ9LfyLQW+sPWTdvR8SCi1TEgYS+wYRbKkmqIZ\nwv69aRUY4kUxu8gK+ShV2xlSKfLHGyF1tQcAIsO+lQqw8aZEo76qCnR7Pha3\naHMT5l1iWBrPOJSHmJ0FSlahdm2qvbT1iVSyD9xWuFLrXe1BZ0eCmBr1SJ6E\nd7KyATGNyuuZb8lHiqBtGbyQHaJSzdbUhzwPpUkRWxxJT43r9mOgKf0O+WsK\nJO+Mi1JI0SqJVrJGpyU2wk3nLIci/qGf0bNzAFX4jP5KDIhPhO6rve0+fyol\nCbJKadetzr/Tg7k5yh041SgIUTEMqzKsZTRKehYhMnEVVzvinfE2gi395I7a\nrzgsN+x0sxqN7BcyOSmlJiLasvIwU7zMS5qGOOIdhqJQDjTCx0GdwbtE5C5L\nnxAteraIwVadA/3OGe8a/yka5Tm8jj/CRSjRvZNUAba2zsH6PdtNOhOQaqdG\nAH4h\r\n=7l+W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLjzi/dLOqLbgGD0Yi9wqXcEPhQSSMmLe/GQGsSCDi0QIhAN8jaXGcly5JJbm31OGhcSpmAFkrvvWdw9K5HIdW/+Qi"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.ae7c912_1600814489781_0.8059145620044055"},"_hasShrinkwrap":false},"0.0.0-a9700c5":{"name":"formio-sfds","version":"0.0.0-a9700c5","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"ffcbba4fb57591c25246cbc6e3c2d2560648427e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a9700c5","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-9xHhLJvEKDHgg9tO1z066GZibdLg73WrSg/JH4u7gUR+cM/Ok5nVkGSa5JweRfvndAkZqMXSMn5J5e8hkcnB5w==","shasum":"4f63bb22ce3a0ec5b4cd5df1a8e1b3e01eee2f83","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a9700c5.tgz","fileCount":256,"unpackedSize":892449,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaotOCRA9TVsSAnZWagAAOpgP/2gSV/iJynFpkKvnfVl9\nFHTftx6wq8dTPSu6JYBANqICtMqfXsFT0vKkfNzeARYzLq9SjScJ0/boGcZ6\nUDwEaDxlLqE2/7g2rGNhCBBlvFJCepVBr/nOqrvr2Vv67IX4z0jNdz1Gkfg9\nW7QGac3QFt8gCTllxbYpUN5dFWlxoPFFzRbRBicpV1OZ0/cC+bZCRcY3zWkK\n6dd4x2mZpTyoul7SLeyw5GVoIgRR6vYzmynGMMOHc7ZhMpzYV4kg9+O91EnU\nHEVCecSueKOKO+bVzgmBN5nlEOtOQNSF/RqSdKp9DK0CiwKxBpMjifX8/vOo\nMfKWEsIJGtVRxaaRTSE99UukELj9IdVRqqESp019jECpNQk1VvJ4JzNcwlxj\nsIhY4U60sOIKUQpXnrfv1ry6pkop9qCrVJVYzWiVNS55FuaS+AFtU9uUIJia\nserLgNWvGfV1MjOWTpdkJihAfHXykVPpJ/12AgupBPNdMOisA1cvr497QUQv\nvSMDjk9WzTeUSP6HHo1uzMvHQg8tBA25B+Xk6kwTUa9/SKbJnhEl5sE2Wq5i\nbdx0dM5/TOZ2c/pjq6uGqcfk4prV2qE+X/4227nLsOVCy93axO+BoAF/zeRa\nJSiSAHM1GLEdpaOuIBmfHeX+nadYE9RRX+2NSswnCIqlwFopSpPB6y7AMTz9\nZN9t\r\n=Qnr8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH5MoK0NP/heym1ajIas3jucmSDo9klHashIqHhXwQNJAiA/cpqbh91xI9KoTrRxDA/7fUdb6q+73MbpI5c2wbUxSw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a9700c5_1600817998174_0.6095045544884685"},"_hasShrinkwrap":false},"0.0.0-f549178":{"name":"formio-sfds","version":"0.0.0-f549178","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nWe use [Phrase] to manage translations of both \"generic\" form strings and\ncontent specific to each form. There are a couple of different workflows to be\naware of:\n\n### Translate generic strings (content)\n1. Translate the strings in the [generic strings Phrase project](https://app.phrase.com/accounts/city-county-of-san-francisco/projects/form-io-generic-strings)\n1. Ask somebody with access to this repo to pull the new translations (see below)\n\n### Update generic string translations (engineering)\n1. Check out this repo\n1. Set `PHRASE_ACCESS_TOKEN` in your local environment\n1. Run `script/phrase pull` to get the new strings\n1. If `git diff src/i18n` shows a diff, then commit the changes and make a new release\n\n### Translate a form\nThis workflow is done almost entirely in either [Phrase] or the [Phrase\nin-context editor]:\n\n1. Set the `phraseProjectId` custom property of your form on form.io to your\n   Phrase project ID\n1. Visit `https://formio-sfds.vercel.app/api/strings?formUrl=<URL>`, where\n   `<URL>` is your form.io data source URL\n1. Save the JSON to your computer\n1. Upload the JSON to your Phrase project\n1. Log in to sf.gov\n1. Visit the form on sf.gov and add `?translate=true` at the end of the URL\n1. When the form loads, you should see a modal dialog to log in to Phrase\n\nOnce you've logged in, you should see a blue bar across the bottom and pencil\nicon markers above each piece of translatable form content:\n\n![Phrase in-context editor screenshot](https://user-images.githubusercontent.com/113896/88839471-f3db8580-d18f-11ea-8121-e0ce158ca274.png)\n\nEach batch of translations can be bundled together in a \"release\" by adding or\nupdating the form's `phraseProjectVersion` custom property, ideally using\n[semantic versioning conventions](https://semver.org).\n\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n[Phrase]: https://phrase.com\n[Phrase in-context editor]: https://help.phrase.com/help/set-up-in-context-editor\n","readmeFilename":"README.md","gitHead":"b43f491da8002bae092802719ede9274ff61282a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f549178","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-7bANvVqD2c5o6vsrVSMRnxyiZHB5ts3SwbzJ1pdb+MHZY6gS2TajRsY6vr3wF8n9Gqly1DX2Y+7okDhRYw/BIg==","shasum":"ed0f010793e54275a46fb8efeecab3b40392c01c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f549178.tgz","fileCount":256,"unpackedSize":892449,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaox3CRA9TVsSAnZWagAACawP+wQHnUEwEfQSyIHlsxaL\n4i410rkyd1Mmo4tVU8q2u6A3M3NhSTRTBAFQFD9MSAeDcWvmgB7ctzDLFunC\nw+IFy6yEmHdlKePrICM5T9JFy4eREbsVjNwbVRKSwr2Gl8RskFsf28PqCppf\nmDv9zbetGp4ymVkhCTt1Mk0zv1qHM+TYHvdZMGtLhPcm276MwnhsxWjYo4SM\nKdsyOY6hGcMh0LBsqh9G26TeOGIY1Wow8BiogiaMbg9WDCkO5rWfivxyfFK8\niThdreez2P9b//k9U0eUe38NwTEssfwjKXy/UZUtbB1wFCHhQHcy3NsEKDE/\nYADavbwRPoPnZID8ME5Xh1VC+IP5NNr62WOIv9olAk5rIkIHjo8kFMU6aSN8\nBF9P3D9iDP5ODFCbCh65Pm8L18EGDnnSzzHMMztsSFWDgBUq6JJmQIuwyMuB\nQKru1Dd6i0FbfVVZrL1Y1vyp0Kd6ArRioirpTiHWeugC1fZ34ppo9sVKcGm4\nDMXCXZO1kTBlduU6Asi9gEQh6Egz8/mNuPSQNauonGvLlnKQhHbkFTJ05t6r\n+P3VTl3/mIX1VaTWsH7kestDDqV7bB/NimsDBJPwCrn03oA/GlGfXoKK0MO3\nWhJwXg6vEShVkQOvIQKONjSzIZUOnf2UrhuGCtm36MWXKCH6kC3pLEdTRg3S\niU4k\r\n=xMos\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDIZ/QOs9xso2mLEgi3Q/sXA2zLewV5oVuvZCuedTWohAiEArrhD4hXVR8TocCo7HzX+e6HMnaCXOIKndedxfxBZ3Dk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f549178_1600818294892_0.7350518106025539"},"_hasShrinkwrap":false},"7.0.0-rc.03ec821":{"name":"formio-sfds","version":"7.0.0-rc.03ec821","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d90491182b86ea21ab8ca4c205f0fc65da03fb6a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.03ec821","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-3WdUYgxvpZidlz0BKffG/gYWSn2fUTfAE4j65xivcnFirzWPniUdn4bQGXOk9AVVDc2kqZ4bWzk7kvow2YuH8A==","shasum":"02446cfb7216beee2087e984480cba141b651344","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.03ec821.tgz","fileCount":259,"unpackedSize":893737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfao16CRA9TVsSAnZWagAA7kIP/iuxkgUoZucMKi+TNLcS\nTl+7itv9BMNKS2yBAD8Qz2mJIEUUchwc1rmmshOqnVbE+jrRTFSc7Vc8Z+xB\nzqoglM587gRnb3y4OXmwO6eBDOCLSz7oWSAEy0n72wxBabyKtA9TufPy9kff\no0BSfC6c3jBTjE60PGqFLQeQoDExJE48OY24ilrNw2qKc7YMrIyZOe6iof6i\npOXXKg/EnNtf4fUQaifxfjOJwnA11soue+MF/1gL6xPhx8//K74uS3erVo+x\ns6ztzjOCysiQBAgHK1SwlhaH1Z3sepB6Hnmaqmxm2WpsotwrKNQcFtOHLEZ7\npxV5tdTcOA0huRC9pygL6n6A+4mAB+S036mZzmeIpyuX62bGgTHPDYm3paVh\nefw66064UBlIHIQJCsBwBN2dFsklWJiXiFtQa+UiiztJlSkn/rJWznKC4Q+z\ntbdHumfZtokQafDychx8BYfVa8GM8kuglX+kht6XpB4IHQPFsCjlFb/So/qC\ntLUrtYWIe33KovWDGpwS/Uld+q+XtV/ga3UybHD4fme89SGf7L5AXgOyRAtS\nkw84Fto0UeEiDx2tNQKkm4TMZD0k/V/0dRMt+lAGe6hqEjakzFWgGP4+nGKI\nGKmdnNZhbNEakWTbXKulLlyz+pxM4Vx1CrtWHviDglX5QfsKKcw1u8OB5dLH\nqIpl\r\n=Ubbt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIFf85zww2/+0mRMxG8j4I4T+tOc/RfLRWO+qqq/CuWwIhANvr2Ie450MNDrRT275g8gyedzo8tI82Sxfx8A29kPAY"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.03ec821_1600818553396_0.8380090700413452"},"_hasShrinkwrap":false},"0.0.0-03c6646":{"name":"formio-sfds","version":"0.0.0-03c6646","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","noop":"echo 'noop!'","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a298aa3e27a76935b46587b93c53c13950734784","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-03c6646","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-F4Vi4aoX7sqvuDeFGa5uhjFlvQ1p/Rt5YI7iXtYJ5Yz9h1PiFw+Jt0ViVjTCVrT9gglecgoo+cpWxl9HR4R0Gg==","shasum":"342de268b22981f9ecdc477448e07da54911d9d4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-03c6646.tgz","fileCount":259,"unpackedSize":893762,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfapByCRA9TVsSAnZWagAA3yQP/jZENYve+v6Fno5ibSKA\nk5JCARX8Hga4//MpVaJ4V+3EWWEjr8rIy9BvQeuD4mhlbMegCTudw7uNu107\nxAPkRFyQ3mPjN6gHKqDwrGS/nhg7qUy5Q8HoaesmQnp0nqwEDHwyGridqQqg\nVpS2w5JTqzcwSMuFlQWP/5gVZiE45acwnqDmamnjTVLrVRNCy2DcSgq+Zqgp\n/6NUiJOkWDkzSscO2gLYtfpz9sP9sdQOyIwTELQAxG4uj2HLqFiWv7Wb2c1o\n5Nfz/8FPYaewc40trWG7pStaS7/8q/YldNQNrKrGzTRLZbVoCr3wgyU4n6tJ\ngg3azyBKXxjjM7YYribggJpCYqTjRDUHmF69M7p0I3PyKbKq/y83G8r1cJj/\n5TMoFBiZL9KtT1U1WgEoN+vhohi/KHEaRLRgV7g8Ypyg9lCkWSk9og3KF/Oj\nrETapHg3kPNByrcurZVg8b4RjtS7s2teH2QR5S4a/7mxR5kyWiMjfQDDIfad\nGpGqvPl8dkiBGAyzFczr4iUVDfJtxM3N9dXkvEa6XBO3ir5DQfEbat8gDGPv\n47KLpL7lv7bvbcZe409CvJ6kTttEk5xqeE+o+HIQ4p/E2CooS+h/fcBXk/oB\nWNKgjOl3GaeHmCR2/4sKCsYYrZKWhQvNYENwKGEuKf6e9sPu1zlVuNA6dF4N\nlxJM\r\n=ej0n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQ2vRjVH31ZOHfIPlc3zmU8BbFLCGw/Wwirvygv4kWRgIhAIesZyZ367HY7Pxv5sq6mn0w/K6eOLo16z0Bic8cQcDZ"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-03c6646_1600819314335_0.4815719789167461"},"_hasShrinkwrap":false},"0.0.0-7ed8bc9":{"name":"formio-sfds","version":"0.0.0-7ed8bc9","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","noop":"echo 'noop!'","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"3b65042b2c8f50d95dd7e48cda3f976fa3912897","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7ed8bc9","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Dct46SlGO/zg89tYCGU7SSh2BzAuPwc5A3nanvUrWhvCLJwTjHvT2h8OwrkVvXMOTm5z9kPL9fyDfmqdNLn3eA==","shasum":"f5f87af9c74abe73ee24745eb9fd5c5999296ffb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7ed8bc9.tgz","fileCount":259,"unpackedSize":893762,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfapDjCRA9TVsSAnZWagAAp3cQAInKaSOxxltAdx3brKOW\nkfBVk3t4AneBxn/KCH2SR+wpPpVSh3WLBK0MDyeGX56UWaZw43M5zSUe2VSH\n9I7p0G5CmEqfhr+Xre8fpnp9LdiKOwlc79AWTVxl3i4kWZJeMwc5+mUV8tHI\nWfLMPgJWwNlypMVp3JiHXv8YJ3B5TYiYHKH5/MeUMYPpM1zDxThN7Rxy1a+h\neNN5tH+wpra/3fiqie11wN6QBr/6785qTd2OYMQEB4Sv36r0g7XXB2o7BbLq\nUehc+SHzh7uCMBR3tc1FgqPzAPjjRfD90hz67p1KLl9+U79xTOfvUyomjDZT\nFzjXgXpv9wjrucH2lwDupZUMFCxqHb3EDTEzWUUkf4gYl9vsWqBC1XG9c05E\nR5cgEzAkMAlPPCYwtdEnuIRHtnQaIZhk2aBbEdlb+xPTFqM3yex2c3BBDrzp\nK2qdSkJlyV6f+qpZjoQpqCCc2v4qDr1pphV5/03ZIX48Z+zPh77CKS/KK85s\n2UBcrkwwWJDPRkbSv8mD79j2YdEHpJoyQHNfufE4RJnlE8Pj6qIICQOa5m5S\n/NIHiFZKRWHdbFnhL78ukQUuMcWjInTleyk4+jtXEgAuatUJsBANHCBuN7WH\nnLG6/xlHdcG5X50lvoLIFXghHJp1NB3uOsc4tBZkvtmn5diSKQWY1LV5DRiW\nmly6\r\n=YCN7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDS6iNBH3bYgem9Z5EHaqgE1KWoueFKhE6xwK7/Smui2AiEAyXrGI/IF9jroj9uwReXZlDNTnX+hsNHjUPvEQFFuFYs="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7ed8bc9_1600819427115_0.3872240146328836"},"_hasShrinkwrap":false},"0.0.0-f46c60a":{"name":"formio-sfds","version":"0.0.0-f46c60a","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"npx run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b36e9d4224ebbfa22bd4ace89a67c30f98d4fcb4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f46c60a","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-LZ/Gl+TE0iSHp29PizQWzuQ49UO/n3l0Hd/652JVkuGsbP2ksX4vfuRVCwp0eIGchpok6pOVOhJykqyRbQQM0Q==","shasum":"08d10367caadb972910aac4d61abd760db301fd2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f46c60a.tgz","fileCount":259,"unpackedSize":893738,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfapFYCRA9TVsSAnZWagAAasgP/RzyIfCC5sN9BD5dmrBv\n605wi4iBxqAjpVAFFm7hKUv6dICmIkZUZ33ujhTTLYanuU9S9XFWfvfM39MY\nRte3eBmBwwYxHEjI20bsnoh4EBwShpznelGDnSN+66mrwCuJnXh7rxMHnCcY\nYiMyUWj+/IVlQd8prQIu+jv8nN9muME1zB47yw4SkJxrPJIUC7y976+xvzbd\nhIWCUAYSLnwvLpkCYTL2KJxn7JjqZ9ss50Tnir9t5jnGX773/G8sGBM8eCqC\nahVzgRkxSVHULOnNqnSTbraU0VbURkOQ0oBfYb7Diow3Qw8ErumtRUEqsDo5\n4AddLh71a3ULdk1A90lkaUXONLIDxHM76zh+h1S9QPQZkb+mee01d5TaKvkC\nmtLSrJYyFOkon9n1pFGuqgyu1QoYfyezx1SNcoP+YtMz+/dtRiTFRBRo+GXf\niQlx9Vwfq6pdN1OK4S440ja/VOQyW5NyeAaT1Cy9lcnAv8E0KYKXpq4LFjCl\nQCeDvCDpt4ZzLPU/poDsLeSL2gO2eBMmsZjP+xiVV4gvjyZbXxF2JjgtQGL5\nG1DKjZUgx798VB1rjpOsMX9bifOP97wcOMrMAprprLSIQEg1CokmV6PyCZvL\nBXzTNbx69BvalCUoPXO4b+h4vr8CzakzLqAdUy3NuzrZAlQQ83CaQMqmHezT\nHNON\r\n=oEy9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHO93aMkUClpY9jEEqGap1N0gA6Y9pu6flpDC1vHJjBeAiEA+PuuqpD41gOk06pg6NoJeGWDk7J7EiqmJB8SMrcMvBA="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f46c60a_1600819543337_0.7348411065904674"},"_hasShrinkwrap":false},"0.0.0-e2f046c":{"name":"formio-sfds","version":"0.0.0-e2f046c","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"128bd1f4fd9677eb2deefbcca63514bba7ae3aeb","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e2f046c","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-c8T5TjihtkFmCbuX1KScYRsZcKP7r1u5DY+9SNj2nLNTA9X6nXP3zq7uTsF/aUiKm5YUH9g2uPO3s8KgSnF/RA==","shasum":"c461e082bcf3a0042a42385d5c4575742053074e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e2f046c.tgz","fileCount":259,"unpackedSize":893734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfapKCCRA9TVsSAnZWagAAMPkP/Rgm165+UGc9LQaZ0btA\nayykz2FlRdLpeAJfcU3WzImv9BZPgrU3JT1LCW9Kx0lP8vBlF9bkpkKi+cBp\nLDOoIdOq+N75ebvso5wlcGi0bhY1QumqTWljfyIBXz+t8voxGpVg5HCYhPWr\nI0cR4AtTwmEgkaJZmHrcj3D1/MknNChqkG18msj33Ol0LdSC8B8QYtImXuhb\noE5zjZ9/9wBtFiC2XxQN+TQlXNb4KYowbztBxhPADnR/+J/g8dvm29WAWcTB\ntphsT7sD8y0KynCkvWg1eH1DaypifgFWKdGfrsUPW9Olh/+1J79s+vnFNqvc\nlFHFs3cLNLRKO0tNSdMPyF+7cb2hyHifLoHg1kV98vHZr0EQG8dekC8EQsX4\nP5aefDJ4RqbGALq29vYxJfTehN3Pl1lHaDfGjFqm/fpOQRvrARknxWaaeYiS\nPd+N3K1LwYKeg3n/BUuzcXWn759X4pMve1Jb9WAAgra4VJznRPqpWS/a78zZ\nirNWNwTPc6zxAgadNZcerd+RI0KQtkFwuW92YogTGuG7LaCQ/OQZNFQWGiK5\nJYfr8qbaVZ8aifSjxOA9MSNSwytfy5kFhIxwucGyVsHyxPkRE0WsNZ6j0obY\nsqZTbD+OkAM4jtZ20y+FkpppiZmxncpICaHD45HAZUHvZGltuDmTHXQoVD8p\nZikM\r\n=cWLU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVKNJVGz3nh5BimpKXCu0rdnfgdAzWD3UePj4mgxePnQIgRPcshMBviQDb08p0+80+rKAP7WrR+7qc1sYjMtjZsTU="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e2f046c_1600819842200_0.5938086678011767"},"_hasShrinkwrap":false},"7.0.0-rc.a906c29":{"name":"formio-sfds","version":"7.0.0-rc.a906c29","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"14b753df75e8f63a569d4176ab5a4e90f29bd25b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.a906c29","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-f/Jov6MREDVD4yq2wupO7Cedl6CFFqWvjKpjl4Acz+HtR/g1xwqOIcVwkQ6RliOzsnY4xoHRL5WqE1iElPU7yA==","shasum":"9880d0e746724b339ca477278b8ac6a03524e7c6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.a906c29.tgz","fileCount":259,"unpackedSize":893737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfapMRCRA9TVsSAnZWagAAt8EQAIiHKu1LfSP81C28I/ut\nfixhLTsgGh6BH+Um/3jjsjxbn+u9e6IvPrPVzhpO85SZIEYNyRPbaf1vq96X\nT7uHtL+Ui8qoskwbxNgk3GSCfNM3n+X2KEEWx2oqS1fEQASmjxjRIY42oIjN\n5fTFjarMKTH6FnvPkn5I9W5CR43gCiJPrC7yzzQnvqRyi6pyIdfAlo+3nCxO\nF1DWD2JZijHIjzWw8yz/u/ArNzOMllLJyJxogIXFZCEb+8AjHzrkNd45zZRt\nwnuU6R076wyg07aoYaV9oKHmwJpbRcQ/WaKBf9UCTDVjTOv6KcllrcYOsjOf\nYWZfk3MO+iyyN0Kw4SbRu8l634QCjobg0NHQHx/YlRN8ASqokNonC3Y7GIwN\nNhySSuT5mNNfjEjABQ4LixuZj+0LGMwal653NcgUVBKpcQXuvurpAw877gGv\ngd1QtGtahTr+yl/qVEp896bw28ErPNZL6zDIixOIkWGEm6u7KAnjHpTla4DI\nuzYQwieScRCjwAXtjo8dmozp3IIAlFJT3OLeK44Ne6BjF8NINRYeOUBWIdZo\nnGtfZFe82Y9RRtcA2ZyR4bmWDtJuin7lpHi9A+fWNYm+hsPfZaeRNspzUDyy\ny7mqf5eEkqRFl3clr2iMEEI4vaRf3A5Iftcav6HnIox/PsVBhAglKQoJI5Y/\nwO5X\r\n=0AyV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDN/sNfzyyMPHDc78Zceztl1CF/Mzx/IZt1EkOxHZI/igIhAIMVcA7loxcNM5EltnnCMemYG53oX7rgQSAKod/a/kFE"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.a906c29_1600819985351_0.9840202507936866"},"_hasShrinkwrap":false},"0.0.0-e3e9993":{"name":"formio-sfds","version":"0.0.0-e3e9993","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"c62452e6b3906fa851afae16f216d960744f68c6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e3e9993","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-IzFM7SeeOUnfgKLzKbDcM3FHONcFHtqzYPCiUW3wR6xxx9vnF26jiOQjr6WwHQMRtnsREbiGSYNPoumfHakXjg==","shasum":"0e37018c2abef0e4b0beaeb610dfac6ec6f37f0f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e3e9993.tgz","fileCount":259,"unpackedSize":894754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa4DFCRA9TVsSAnZWagAAQVAP/jZjRAvGG2y/wF3o7OZs\n6sv469z0Jg18DQF3N5G0u5BQCDRpPu9+tPj/3OIP3CyWU2JE92Iw61f331Lp\nbVrAqwdqrrH0LqVQwaPuGFPlwnxjh0EYvBu1sW3TmnwvZ+x/Gl4Gg4M5MmUZ\njVyI0ge3FEwsTyxnq9IHh9/IUfiZVGprmwwDb1+rdyI5b38LwYjBWWOz09hg\nvFN6Aqu3ZbB3JKK5Nzoj80MWFYBPCmKTV/cbBo5LIJ1aast6hsaPHOycIMzo\ng4bhOfrzVf2pw+TBTJZUPnZSyf2x/cegIrkljNqzhK/ptQDGf6MDdRucnqBc\nxpLwa+g0BKl/1SDG4Npk6jnXP0LewnC3iCr4c8diGrL1sW7m2+Iekvm0sAoi\nnKHLmFMBLu8RdbkBRoQFFBmoeykwqOzfSCMwD4Bf+JB8zC2dAi72MYqt9Eyr\nZGe2DFGSY+b5QR/p2UIga0Ss0zZzMqLReRc/eI+5VWEet5fk4lFpt42HXsP7\nOGQ6bPA0vxQCPuZFgqHUYa6AfBNX5CNBzFbjfZA6fC0TYATpkLI5esdbOftb\nWuuHBoOCpYB/28rTJpUKEIeUXCdODgnXiaGW09pvxjCH8pNDUJ3MZCUmMJ4r\noa1f0pd7Z5U04neIDbCvsDi7t0qyF8qn6MPuDqXymvcM2MuZP4ZwGNS2YfO5\nL50o\r\n=ebbl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEU45Lu86mjcAw5NsQtzHLNWmZFOW/sHFD7ZzCzl670bAiAwbNN6MabtXEDjSHYISHJ6urPn36KbVhRJ4BzPntTRgQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e3e9993_1600880837041_0.40643152827739937"},"_hasShrinkwrap":false},"0.0.0-1b73d8c":{"name":"formio-sfds","version":"0.0.0-1b73d8c","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"62de5398e2dc2776731fbed67adfd5ff2b8f4795","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1b73d8c","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-AHt+XOVmsOImIMgdGvlWOrmji+VvsCY3ArGMDj/3WfOJUGprWKRaUrjr8LzX4LLgXi0i1abqbE0Z6T9u877WGg==","shasum":"4093fbc810372ce74d47c0f83c076bb8882e01b6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1b73d8c.tgz","fileCount":259,"unpackedSize":893734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa4cvCRA9TVsSAnZWagAA7ycP/1obGDUNsZDQ+Y8PxVh+\neDKXaTI7M0eJjYuuCkiAk4mLbZzzvb4CcV2Kmj8jLBr0GQSrOhzMlg6iJIPY\nPRtCQGYG0vK8qxbyFBMweKM66PRshaJkuPFYLxhRwQeMeIWRLnzsi7auHLWm\nC1Rp2joMHJupqjG17GYC+VqL3qFRpVe+Xhi6OlyuC+i3+2WvpxFgQs5xuHG1\nXfxAElzfA4kxmn7apElrkGVVo7lOnNZG63a9/ohM/wnKVKFvupU3QK+lytIw\n9uLvQz232WTR6x6DNDL6+vjxVoDssyqa8mZqbo722NXnhiV2Z8bFVllxFY1r\nOqOgH1nrFtO/bOO0D6m3cT4knTiFKxsj5wJkU0irPJZ0sH3LcOBOXvJNycNu\nWsPfPdo4w7+CEGNnwkrBv3fXY24JtJChOzz4BD1Pr7/BNG7DeXnlK1qfKSl2\nC0+EWtUpvf78bVNcgJ9TTPRgQkBUaCfm51jt2xJ4a4nxEdV6/MV7RWTb43PC\n20zUoxfJA8H/3L8G2wde4BgxGovDKXx+dnCQWk8NbDLfJDgFt450G8LS1X6K\nRYmWa91A8zDd1rsrHSJiHrkx9cGt+UhMV3Vx+RBdYnLgo0mFMK4nK7jdga/6\nzzSoQKANDxOYbxHyy8F/ToPyf+MREW+ZhE3st282Pfz0q6j2G76FRoP3SR7n\n8Wtb\r\n=+sb0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPbPJywAWu6r/6khM/cmViyl9jsWyvYZOljxJ3PiObrAIgaNomMwbOHqB6bCWrW6ZWk1WUjCRcFcW6G3VoGt/WL+4="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1b73d8c_1600882478526_0.851639612565593"},"_hasShrinkwrap":false},"0.0.0-4719b06":{"name":"formio-sfds","version":"0.0.0-4719b06","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"eeff5f6cd8b1116af3a7bb815bc129d2443dce39","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4719b06","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-AhZ51arKEw/0fXdoDi0a/3Bxyrql2SkZR5AV30o+YqZj6Z58Y/0ER+EDtmeb4OPb08mZilo/EdVMnEue0TevaQ==","shasum":"f65557f334bc512aea3d5aedc9d62e5c99d9d6c0","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4719b06.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa4w8CRA9TVsSAnZWagAAdccP/jzVa2ARWmopC9/Jn076\nWkZDdeNG/K4Of1M8SgsXdFVYLxgrA/jkIcXiCZZG0SCa6yJHNhhzYgNHSMJF\nhWc9/NGEnLRqN3MmLmuCEvTUY/TA2v9OqO5lqVuzKsAByb5Wk+Et3Jo+61wZ\nB0K5IBwkYz/hoN13N5rpBiY6lpr6Q2Ic4G54oWgsHJEFy1Gaa0DPTRFs5kJW\nzv61/iuHfeUZbXsuP+3ikY4sZwrMzVRcHqjmsK7ghUuOtbDJS1G7FV/HDHme\nEvKBjJLPMLRGoGCPdiQa3mh80HKNdC1+K2vrqF7L1bUDzwywa04Q4aN3OJbU\nicd8iYVEWigatyIrWMNBVD1bHH+o/cxOLDUx1cD6sMsqEinuupsLka4JaDZg\n7EfQurAvqWqtFrvUUS8ymehWaoFHDbT4wJ73wiE2N57NSBKL1/A87cRNKwsw\nx5bNUBczYuko/VrxGWCqioTF6A0BwrJUpu+jKq8braF2EACWA3WE6rX07ypa\ncKUKL4QkRfRa2dR3WAiy3rfeEsXLZIv65G5zH9GeZExEqO1xPgCBfZKzFHJH\nMjFi3QEnWNor56AmbKJXNLnnIwpe2zhGqA4i7xwzaNvAfXn/sGHBzCnc4R9Y\nOlifOxX27diNPvMi1cgcFdVd68s/zLT4y+LAuIz2OXGfWX9FCU+4VpVhvKCX\nNfSE\r\n=bS8u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDhZsu+fy78YxJMZJ7qdVJJlOmDcQ04bd7zXOBq4B41gIhAOmOdcIIwhPH7a6O2eG4JuoekElmxN2NvnKbDq56SfbR"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4719b06_1600883771496_0.19274969001845266"},"_hasShrinkwrap":false},"0.0.0-0742a57":{"name":"formio-sfds","version":"0.0.0-0742a57","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"1c97ac6b6b21027460eba23d7bd82412b9c4cda0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0742a57","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-TpiT6ww38h5r2iQzDwE4IzD+axXs2mVQrzbTb7eUhkS/Oi4rCwzWTc7+dTIZAbLYbJ41TcFLn7IXdXsCNtmatw==","shasum":"a35476044b1a5f547c184b5e287c7367c9e4e0cc","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0742a57.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa405CRA9TVsSAnZWagAAENcP/2/gdcG2cOyO/5qBDE1A\nPlpE4NxFbeeJ8PrI4J3fR0e898mQcmTj+Rgv5bKmhcMWbAmLp9zpCLYzn7VV\nloSk40Myd8bC1JJMYqYV4aVhsAB6sygdmWioeRsFN3Kb46x83s4bjznELa9z\nhFwbFul1rQUyrmXIWoUm4UEH+aLE1VppQM8G+6s2XbanyqV+OoZX1IyDDuBq\nFwBNHixpMxWbQoldgC/vsq46ZTEGm6H2OP23vQy4gIrl69gedyZJTDJQHpEX\nNYj9EaJspCAVHLtEcB7uxQ11eDFFHZbsox8H9Ve58AoNONrjL/HCZvT97/uf\nLzzMB/XjrtUMn9WslLHqUXDzo3W3fzq10IHaP6rorUEmQudyRRiakJXtumcm\nCkGnCHIb44a+OlTLJG37mnxWI8FpkWuY4KRodw/dJ5dNMiytyFJIOL9hTZX+\nUGtCrTEEI+zaIuAnxFijoxL/QX912APP4eZH/kb+3trAEnwJe/ZjoE8hx+6B\nczYJKcqTYKXGI885RSrvJir86jIhRj4+Qk6BJ6XxOMjwqospUO3TGSqLVWKo\nZrOVVBnsQenAOSK6ZBdYoKYbnzKENU5UZ7RIej9o62eJB3MV2ahM9srjZzo0\nBmpYQB6nLmI98GCVOSNmyRq/gmaygOCxcWDHbQKUvg7q84VhkOM/McHO2RB+\nwjgq\r\n=OFjp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCH0nRKWYLjU2sXmVbjssYP9EJ5/jH3epUB1hnd8SJ0kUCICXThqMRl3yBLsPhzRUOtzG77VUfP7+NsKoqF3ZruRVP"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0742a57_1600884024884_0.626274240803945"},"_hasShrinkwrap":false},"0.0.0-1321a61":{"name":"formio-sfds","version":"0.0.0-1321a61","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"d300ac5b09946a0f65a3d0fbee4d6cec1014b107","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1321a61","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Yj2WC61ad2XJHsHtsMUy/X6mOT7zJsWnrcyf5g0jisPAuQ/XNc6weLcFdiD3IRsDpSRPSc+pK/dBlAZUqGxjTg==","shasum":"f501d02eda4e0a9935a1ebbcc0715bfcacf64244","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1321a61.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa5IHCRA9TVsSAnZWagAAazcP/jgCuvEfIcJXVMNcj5Y9\nY2ZASvYtfV0DOym5zzmdVIPcMKacKJtbJFySGXzCr5jFR8kmus8sQiKQa5NN\nEGSxXUleXLycxoRA8MQADiZQLKuuZwphrhZZvqTVkhyWkbLqxRGuvQ+tNBKx\nYgs8weYddFdDIrE12CVRoavbQtWIpwVgBTFCZvrJ0tApaRqJ7Pj5DYtZ0LBu\nI8mbSPDvhJ31PtqZZias8q2KAKa6prnZOgX8YF2l7wTFGCUHs9EU7ZNUhwIC\nujWtKcULw2+rPVhHjrAiB605qFtWs32D3S1YkhXyV+pBhnaVuup4vxMPTzvm\nb1nPuYuPAzlY0k+AEGzfA9BoyVllp/USxl8TGVvNHSPDjOTkr0sqeUkUlDgn\nN/iovPUtyf2dqx2oXP7u9MNgeOg4j4cktrrCPr/kHvTqBaeVoHf9UbOWln05\nIPKY6szdQH3ZcPUJwYPu7CmrfD7fPdY3zZuXXzqihJg6wn6/3+abYwPdlTJU\n9dvRy7DM0OYFV8nkgIM4XsrLnRgNsQSjCTDnYkOeUdh/mw4qbB84MEPZ8ghd\nmHfa6xfd1i1Ewdpff01Wi3vRU/oY3F2EPpZw+p6uGh1rpP4K+G6iUIZAtFtG\njMdnO1m5INRUsESrmYuBSejWTiqHLDhgnV2tGCl90QQx/OzBIlKrASEfwdlT\n4hD9\r\n=foYe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0XiI70lTS/9y8mN5pn7JDPI/4mYkGjoOT6CdbozKjJwIgMvgfKCqlgSWT77aJOLmM1oXUwBgftVoHjqtNf0OKsqY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1321a61_1600885255322_0.5998967972997142"},"_hasShrinkwrap":false},"0.0.0-062112c":{"name":"formio-sfds","version":"0.0.0-062112c","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"ed64e08622b7e7958bc207626130413ec08ae20c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-062112c","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-9wmuuUguKWIkC082uD8UtScz7NSjBXHRdd/I5zuiu/Cbpkq/uCpb/UUO18ySgqoiEc/Bcchnc/YR2qXx3DD6Uw==","shasum":"c962d3a376c639c0f617a5504ef5f4b98384868f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-062112c.tgz","fileCount":248,"unpackedSize":818318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa5+gCRA9TVsSAnZWagAAmeYP/1Lp3FNYh5blLcAlQLue\ny/MqjzaUK4zzqryKf0VMOZxmyf+BNAcGHOJUtuYBDuPftQ+ha1YvNsWG1TFc\ncyRQEYSzQAWQYVLRbg80ub0zko6uzoPg/3CN64hU9tKk9nvuT2n/DLZapfIN\n8IT0Q+RrooMan3YrV9U4uqO10lPVKoCm3ptLsSNdOrU+uBFvDvsdAQjONRPL\nhHUCQzeKQfiDbymhKg2AUMFOJ4doPn9q7Xd+cYhTbr9P1dYnfxu8ssn6W9EE\nC63dTclQOKpdGdL5/amP2C9jVKulhv+TU+bHOtL7DYlBacEl/20/onuQxuLu\nsi2WdSX77AdHj6XelA/OX/FTiEVfWa4WC6dz0TtE2oBZYxC+TiWBpY25LiVf\nqWxWhhEwpOByTvQ+sv/bUqPA1iq/LfgI/BwXCUd44qL+EhqDDmVgwIrJn44G\nULp0oCUojL6b3UzNeIm6a5KLk2GzWHP9aXg0pWcoyN4v5HzJ010aI/786Cax\nOQmJZBLEtKhFdTXNYNUia+fKKoktfH6tUZ0WeQHRcCISq5Hb9rG6m6V4eP1w\n9JWymJYzbkyFgTPubA/PF8XqOm9BpdCA07HvOSYfB4bDgXbifAuzRh8dszEv\nf8ItZBrAhJxzdVR+EubASmX7T794MjE+6VSdC2FhrpaJ+8SjhBe1VL20o2uB\n/taG\r\n=1/Sl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXsQz8DjMGF1w9voiE/sHatOO6vi/Ndll3oEiIHvfpuAIgOdWs1Re9m3JifIaPyRF/an0ZK4HeZzoEtctK/v6KKs4="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-062112c_1600888735451_0.9608492412348437"},"_hasShrinkwrap":false},"0.0.0-f94d1eb":{"name":"formio-sfds","version":"0.0.0-f94d1eb","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"8b4c8c646cc86968379560c13a0c8cddf095ce24","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f94d1eb","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-OpTBi/CMtL8P3K+Hfmqi7XOoFxO2NUpsQSARkAKOI5UdbwoQK+tJU7gkg+73u8mGS+zWzN/TaF57v56aU0mAwg==","shasum":"5929eda5100a8048e19c43b568228758e20fad02","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f94d1eb.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa6DSCRA9TVsSAnZWagAAXfkP/28V89hVDeHg1KqFA4EK\nNiiIq2we4UF9wjLTN+36Ubv9cDJ50w30kdejfXqaph0ZKMRUhlX9SANVOTHi\nzJJTGvkF52PNPFqO9CxzhkDuH83hHT1wTsCHMXGZ/i6AXSbKWUPeH8Ws1V4L\n6uYt92vUw0MYQ9dE8ERZtfv34Mk8eGxlwp5mtU5NkzEemykpQRxxZ9ZEr4u5\nYzgAs4G5QSb2LjdgWtteh6YOmg5GvY/OxGFLWygULTH7QuEA53MOnqGqCMQz\no9i7G1vszUrdkQ3o/RR8svOkcEtPguFMW8nJ6hLymBaFctsMx8ceb48nCRH7\n2y2cNEHqkuA9FagudDxxEWSpzuScdP5B9AM6FOjrxPsOUFZVxwnGsuZgl+nN\nrNJ+y/+7625n2+XPpDI1PuRQWk5brHdV+6/mlnjvVaPQg00auJ3Rukil9R/W\np3Jxdv6g0c4mHdMlZ5+nJwiru8AYX1sSRwANv3EpE8RdN3ZHFiUQx/DocOWs\nydYDaS6jX0Qr+bU06F85Z+17wMmdu05QvnhtB0k/t2Z5wNG1MQVXtB2TgKBy\nAaXJRdgU7yJGL509aCAbYEfCKRvBeK4q9XHHeX04jo2lg0C6pJMBSxM7t8yO\nHeAA72pN9eksQClUgJeOTIwJon3CT4JmoTuLoQe2lLz9uZF18Y4ElLbZbfHs\nIZs4\r\n=8JLN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHcNT3vXI7NFmf8HCZZhqp+EI64TIElzKygRQcnMvQTEAiEAqjVvIUzJUthuBXWENSh+I8VDe/Kh0sIQa3SKzJghVCQ="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f94d1eb_1600889041784_0.15311904851625546"},"_hasShrinkwrap":false},"0.0.0-4c5a5cf":{"name":"formio-sfds","version":"0.0.0-4c5a5cf","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"7a171d0df2b79e10e83086f0456802d17d3ccea2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4c5a5cf","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-DdaQC7pITpPfwb4BCGeLODokCei8gujlxwdd2Yin8IY1llwzqhCNObP+pv980fgbw9leGWb4nlxfzGgMjT3yig==","shasum":"df218812fb0a68557f5a4f0aee4005c4c307ecc2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4c5a5cf.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa6HtCRA9TVsSAnZWagAAwc0QAIsi97mZkyuB/cVRK+Yd\nXMUJPd7WSrayHqfa1Ky5wg7UqShpr+pRxOm2kSgQoxiPiLltdqqEbElATwNT\ny8O5MAwStVhEVuRzE67Obc60Wtaz+EhlllSbDAsGtZeWkiSznkc6CpVkRlZw\npUwQXcxMDl/Txw2PU7ezrOeQK3MxGM074MXC65hlUbsc9O3/UtXycKR5wYFV\nRQOkKUFfN3BYsXR4QCClFcf5bgaDrCkv2McRiB0pkpTqB8Ef2RxT9jFgnINr\no+zOsykx08tuxs6FFFfBFJR3iLgyQqcZ0GoI4TX+nbiQlo+o6engEKfBgPpr\nvxz6MKAqA2mcZMvoHElF6d1kXySYgKVfF75wMWq2+O7QPSma43xfSBEOcwO3\nwavhzYTx7jPyR48oFe5JH/sWFFazdObHXGkqZjPYubf9rxCweqGXCxlHFktN\nJT8b3zQchmPt5xzYHki/njg9lKMe3sj/htGnT5Eox9TIGVV4C3Z1uBrGv6eU\nXBiwKmdSD1HOsBk8xMaoQFhm1vYps7Zj0O+fFxzMJyInvefMwQbZHEeJxbzs\n80ObeAQXrlSJ8efjEjpuOdKrRQmTdEqaRZrfZ7swXvfNEoW0VLvH5Q/3AzKS\nG4DS926tTBSXRSSHTopZHrYmtuOu4moJ344LyROX7Tp2/hfvqmQp+SLZd2r/\n6v0j\r\n=rJPr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzgqQ/NWOpffRBhcCqUrHq/m4FCRu+uFmsfrXNn2onmQIgB4T9LzuAGbLMu4IjTfCsdDHFYhBN+Ortc2tyNykmsZs="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4c5a5cf_1600889324972_0.840387313145389"},"_hasShrinkwrap":false},"0.0.0-591e251":{"name":"formio-sfds","version":"0.0.0-591e251","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"58e70c0eccffc2baacfbc0c4874ecedc897f45e6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-591e251","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-MYqju+LIvwptieZV+vs6MPBd/z3sYWYqdah5XPE4svT215MdhemXN+dkuwfnq22GZumJdLgXmByVo97UvdgOyA==","shasum":"fe85d8ab8c78fe07d66fe37b8f153a5ec5d921d8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-591e251.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa6USCRA9TVsSAnZWagAALnIP/R31beiW0MRoAIC3JzMr\nHloivfJq5OyRrlRNiUQkRSIpnngKSdxbKhKFdiClY7MlnfBjEcVMJpOoJWqc\ntiGZPklf7Ml6gn2GrZh5IvWIjDe7QJjfwMYemzuN4DDYesnmjzuuuCbsLUO/\nvmdQIq2qe6CxI1QeztOquMAXxckORFVDJTVCBGMlbGAAF+v8T0A03IyvV73v\n7oVYwXPU6NGwPDkLc/Z8FM//fvf19NPgOBYXh/IEA5vwClZI2FnUbhzhp263\nb4NZBpGKhnCJEeRPBucCSVPQyBSfipQCktPa385tKuywVhh/YwJtRLAlsCmQ\nELrWDc+A8YxgQoI9Xy5JqKsJLLetmBhZ6bU85BzdpiohxNMH+atI7ZybUW1j\nbgTiVvOJ1tI+peOnkmMKYTIL9JPOvI9leMPKYQ4Qw8slHOzeGrDGNVu8ABo9\naKl/ABWpGSqhQGEuSexcSyV+XzHv9zJf8QrsC1q3sbhnhE0nwv+d+EhlCBvR\nH48otnlhO7EdM7TsxFZKEiZW6xEaMQPpcLZ0AgR/P8wzXhg4RRq9jDPW6NXy\nO2UIxDMIm+bs1mxs3gKL6PJ/Xw8bw+nD7VcniVBvgJoUO7RI4Qgo2+iWnQWI\nxBlYvRc07yDXY8CElTO8tAU7/agKKOvrjP2M5b0tKAnp6u5vaIDuqjtbW6cU\nO36w\r\n=fbV2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEcm3EFGPpqvEF13DG+2nEkMcjDBJpkCpHmymKPiIuJmAiEAuLPU3hlH17Ykn0InrIgnzJrG+3+IKuhBcF54VdeKzFo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-591e251_1600890129362_0.41892514948488135"},"_hasShrinkwrap":false},"0.0.0-163656d":{"name":"formio-sfds","version":"0.0.0-163656d","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"e0d4d6b3dc679d153e75c52824c4fb4fce1cf205","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-163656d","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-my6bze0t7u3OHVQYng0owgY4D6tnQqZ7u6L9wiGOe8Jr1d4HoDGf8GWgF1zVpXjvR0fnnkBDVCr2cQSlMU/Cng==","shasum":"194b46f311423e47dc3847db62f3eadb0ee84600","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-163656d.tgz","fileCount":248,"unpackedSize":818267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa6WrCRA9TVsSAnZWagAAgAQP/0pnyRbXpwBPv+26IhAh\nHybvRllS3xVg+ubAXUtWJubHAtuKdjX1X0sXY1S2hEBsS+72ZFRpFdwMikYP\nYpNUm3GCnXyaUwsjZJcWp4OuVZr6xKqGbz+ubSkZ3o1JpVoOO5XdEMQmkpaa\nKaXB9Lam/flK9NzrariPIAkMyZdZpkG36ORiA0sLhHO0vK3bRxji6f/muLew\nXGq5cJsT8rSIwYEXMpKlnd7Jb3NLbvgeez0TmYqKi4PYsyo2EIA/HfWrZ6B8\nfodU/K3DfxC0J5QijqTZhO1IBtFTiK2qiZ2gQyF7GCL0hwgHvrPl0vsSm+tl\nq7J318iyjrhAd7zHTMUbWk9ryHBN/HhkM2R1fTejLFnOrEScO6M24aZNBX8X\nVBsMM0VLctFbSE1CRfMWV/pNlDmFkE3LWVYlIQnzeRh7e1jfmMTQ9ib2pZS2\nYqFrbZleIqFaJZWxYhUbIz49hps87B3z+DBPVAwhGVYAy/8+i8rSHv7puDPG\nTx42IF9EaZYK7GYnjZrShxOq6HT+hILpu694AcURarjQslf/QAtxleUcQfJ5\nf72SeAjWiLttiAW0LtKbDl9tZskVJn3O6oCtJGgayxjy2rOUMonL3olv2bSW\nj42QlD0XexR86OSpZPo6/H+hsxh7yCBHPw8MxLq0rXVAhAcPMQQrTstfg3Qd\nTBz4\r\n=VmSe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWafnpeDbys1AxHZsdm/RuZ8aUalxFepXdLdg4pvXFaQIgZ7m1/JtgDZmkW+u76+YgmBF3rxuYLR9xymRIXdmSRoI="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-163656d_1600890283428_0.9653187708815243"},"_hasShrinkwrap":false},"0.0.0-57bf781":{"name":"formio-sfds","version":"0.0.0-57bf781","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"351e0e5ac8b32718e2ce5ce95cbc0e3977974b20","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-57bf781","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-BsH5cGaz+3OLH/1xpML7zg8fNT3Hz6iyiXXhE0Ndpdk8UeDMGz2JKHK7p3yWEuJcTF4At/+hCB7sSOYNGryfSw==","shasum":"755bbfd33f86f99a6bed36f2f55000cea55dcc8d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-57bf781.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa6gLCRA9TVsSAnZWagAAFTkP/1jabeucpOIZ3wmi8qUs\nQdoOlttOZEZ9/9YI6Z2kRujeYpxVE73FhIvvtJ2dQvaAXr9yTSv3+Yz7AyRR\n2XXbTZu4Xr5NucgO75UTz8Ij9xcs6YIXXwtRiGe35vGpWjaUjXpEjKJUEZFV\nKzxEzJgfxIsl1RTZnecwvzFjlNDc7cdZNAgQY+csxPwsZe1QQleSKDJ7e+A8\nUIVEZ3MqNpl233fZsBbh8UjXA7u/9RRn6XIJ05h422W2YNigH8xkryW8+Gbi\nedCMV1nwa9L61ABxFsK9MWxBKez0bvrMqM5ah8eshuOiXDrtK3jNVcEgMTrl\nOls5lVmkop6+XpYG96ECeKBbblwfCNysfrjBC4xqAPSzvSD/LMBfQREAgQ7t\n/V0TEL5IL/yQKxFufqDseYwBBW2uOZPzWFiqk21oODb6+H2yJYDSwcs3xhwl\nnG4F5YS/ykDNfZkSU8QjljtV4uKsB5Cok7DvGyU87iMcQg10sWN9+Q1u10Jn\n5YwTzWsbXNCZjbHo+/AAAq/gcWxyW1kSoXTaq0Ct4qfzKv/U/xWK14n2qKko\nhunUS91oxnoeQkvnwsq+xpO3t3X+tiDc9yPfe3mlcvFZ8nCLNkqjk5zY57n0\nGBEBq8+QxykQeZ6xAGkWWX6MuXya2JDOS6A6nfD2nOKrkV9SWNApzwvRbqaC\ng2si\r\n=kj34\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICYCDwaHwgbFMi2ZzVi6VSO246tp9dUvbzlFsZnssIDvAiEAzudV5ItgM8R0Q4gBl+PxZYJGbvvuqSaQ9y8luGabWGY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-57bf781_1600890891054_0.11698143232988545"},"_hasShrinkwrap":false},"0.0.0-f2d24a0":{"name":"formio-sfds","version":"0.0.0-f2d24a0","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"73d7684f8808f610d040ed2acd739fb9aaa5cffc","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f2d24a0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Qv4SLUmhyYQv/piNeK88R7nVbwZu+LQepjGTygbfMrvnzm5FNgI+mdcmRoFCjKaIYOXAnvf6q0lVAbpMWOMOjQ==","shasum":"9aff4458fe344a1cafadb8d2e1a098129c0436fd","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f2d24a0.tgz","fileCount":248,"unpackedSize":818098,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa6plCRA9TVsSAnZWagAAytQQAIvZeP0XNffVzSpY1iaZ\nMMm9eGJfQwbkkeYlDJobJaSEnUE0mEBnQi9DaIkIyqD4h7DXV7g/5G5Pv0Pj\naMAabPO55gKPX9Laj+a51B4CI1zFQ6/flfQA4GmON73b2auHRAkYP6i3U9I2\nrVtEERnCYGGTWVMxoXwqymE30CmJqhyl4iyoAy5WwDw6wXGYOs4fRhr4nZbf\n+2GatpuZFBKGT3aXkhRIE/tI0sO7dXYRiMoNgEl+Jt+mXFIHQtI/kvc/1pt5\n3UsMC3Na7/7VPPWJfNHy0XwiyxLzztGUPsPRTJblb4by0JpWrIvUt3ecb9lo\nrhUgHBGBBzRMZ/f17dx1Y5667EbM0yT6XqW8/7Klgne65VvJgDR6Vv5JDyFm\nyV1ur1nBT2qgQmleBDo7SKjmaYdDsy15kAh8BvWta63yCjRxaPvphdu2O2f5\nLJOGFlvs+bEIVSIgiBiWfLag0aItJ2DWQjk8b6P3WTgwaIFUTx2KpqDheQoa\n2bbgRATznl+MBHeBjrXsixCo+wy+LqXmLBdiyrvUJLUK4buFZgu7wM+2ltVN\n/Ueposdvf5ktS1VUAqVnENI1mZWN33SNCfZwskqgCVVnaPIZRETokm0c0N7d\nJPAYdgQyuqvUmKL9wDU/Pm6BM8EMxaH3AaEWBBvYTvpvxVpC6v1/vCcCElGO\np4Fl\r\n=KLGW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBGOXyhQtBn0kkifQ7KE/XGjVtCBwc6M+Z/7isMlf79yAiEA+GvMwNnhqIOB0DiqUOTvxIt5wDTzBnnHuWnwyzzGqRA="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f2d24a0_1600891492583_0.8053667934290862"},"_hasShrinkwrap":false},"0.0.0-052fef7":{"name":"formio-sfds","version":"0.0.0-052fef7","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"7c89d8c270784c85154b10a478f941d371c97400","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-052fef7","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-uiZEz8skIBmrDuFcbnG6LQjVmMiVslnbLLm/hlsSUPUmT6+CitIxZ0xWrnxzhiMLAD4chUrdrCMXoRk5s6Tcww==","shasum":"3f74f2a8309cf92b0254fbdadd1628188252d547","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-052fef7.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa6rUCRA9TVsSAnZWagAA68cP/0qnVsWjAriCkC0wf7UL\n8EPuJ3ynV/aU61W8wPHBWaGhYYV9oC8U3+HMDD3/lOEQ7XTDyu8qVuSEmCRh\nPvntxeBbDhQY1o59HjHbfEIEbjIy0mkqj2aypIKGID7vmN4IeRtNUwqH3hTu\n1+G59++epKYz1twcAVi6XCgbXZXFHobPFmh1hD65RzPV5GqBd73tDGyOShEx\nYAwimvgQ9uN5M3HnSXorNy36p/QMaoO0UOOIEAEepV7uKkoIX9uCHkVF9HCY\n2yOE1nNKyf6WwFk04stkToMH93SNdRntUgikwgHShPqgfJydxobQBWm7c2lI\nS2bT5SfE+V+dw6BHEOKea1OdQoT25c1yjD9WhYmnXTOcsZHX1KWdGNVCRcOr\nF0YpBeqd7Xk/OYyqkk6HN9SdJBkJyw2geIhBhveuCFhPq52VQcqv9VlrAm2X\nxGoN8GC2S1OtRVjkCWPZ911eE49fMxsbI/Im8Hu+dXm0dAvSXD3e16EkpOGP\nRHVuUWzIFpjB0+lWHknVH6ZG48NxaUMje5bcVWFwU74WgJvkTagGddoUnpCV\nqOkEok/oEip0Ns2l1oYf0WKD5M8cpQ7rkJfwNWpBcSO7Yv/iRXuxDla/RVOd\nJrX6D+5BtoW6KkBJEr3DqKQJBgvMhQkgm92aitwTm9SP5dI1msVo02TCIoCS\nHklO\r\n=ZrOz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5HGT8VfajMzmoh3VeyNuDykaMYUNHhayGRdX/a6uNWAIhAIYjip/4JwFw94i2MjT+oByCI8H4bDXQ9cI+IvFbRI7I"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-052fef7_1600891603516_0.6637133660202752"},"_hasShrinkwrap":false},"0.0.0-7cbafd4":{"name":"formio-sfds","version":"0.0.0-7cbafd4","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"9997d09a851e19117d036cbbd0840d25b1285d10","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7cbafd4","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-NsYcOusYJ/u1/sA2xT9TUqefQjRp3QGDb095luWlVOOHONXU5CYuHrcoleOJh28+4edLZoH1ABH105NkupZzrw==","shasum":"78dc09f87eb37ecabf79a4eb758f3058af8e6de1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7cbafd4.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa60RCRA9TVsSAnZWagAAhQsP/jw/678zzlnico0jEMcd\nVY27g0b5FhTFjJyNt5zWSgREJsro17ujYZHxUxJmEUSx4sJaFC8mS4dD2TmA\niEj6wmr1050NRCAf4T9v773CJ9/mKN2PeKyKflrovj8shI9Eq7Q+RyFokHR6\ng8BxFKRJYJWkXe1Vz94g+KRdmHefjKhGeYPq8THrWm75k3066K5et7BBlNZf\nRuYmKaubTShBEzV4gHR5sYK+fJlfBtfe792ykTGLnSkSScQ+UTMqGIiZbCtF\n82Du6AIxMGWUaM+hDpUZbvB/goPOSvgUnOdtgoO5/T5rkzLeAcXk8PaYvoA7\nUq4gFxPXgAflJuHNpxvBYhdLhGWNwOiVTht0k1L4kPt4YvkvaTSM2ev4yJv1\no3eq5jl5y9A8xdk08Fy9KS96Ekqz+bJrkz1hgyQZzYlltbWVgqrklv6iWtSo\n1xAq17aDiAxiP5g6QDbYj1ptF2tnUAS/SJOhXAd+W0EQWLP6QkDrVAc0kz6b\n9A1dCJG5S48uUVL0To6o/tMZnTqU6Yp0XGpxleLb6Q24myWPJ+uqTksDKBrH\nwvKkLvKHSJREU8A+OxKY+6t206K5t36paMTHdDW/hiQNLCcFoZy9yuG+2Wp1\n8R04QQppWr+TY7HbO7mOlDUSfzjYbjYRB1EgfumrT5umryOIKITwWjNNOewR\nXOMG\r\n=i6OI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGyDZ6evweGD+Q+DU09lazZUeXL4nNosMrGm9vK44QK9AiEAkVAr68pdROCKHFxjLQyzJi8IIqlHU3knL2DoEuOPSbA="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7cbafd4_1600892176929_0.6454313112462176"},"_hasShrinkwrap":false},"0.0.0-113c4ff":{"name":"formio-sfds","version":"0.0.0-113c4ff","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"b56c5e23b13f5463a2c9919010d796af7b14c235","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-113c4ff","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-l7rJ7VwjPFqNtgn0j41w+F99QPh5uwIXSCLnJ7FOzaGSST7pK1MFmY991LZA/Z1xn2qili/toABiXs2MQNsW+Q==","shasum":"22709bdf137de5848f6aa0e9c93aab4c29063ebb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-113c4ff.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa7XiCRA9TVsSAnZWagAAnaoP/2JyQorGw5bo/xYFz4qI\nFMdNeOlhPcXYPGRfWmP+ajSN3NXI9hZ0CIsSgUSxoc+/4+ykMuq2GtlYJMjx\nvfylkhHCcYaqSEe2lsBjWSHgjDHEFxLlcyByq4rGm9lPHftFwA1jaM1iJgFB\n3pK6UBpSDFvB0W6cePtiuLhNdhHLOktv5PWyVkI07REKl8F9D+C3PBvK/+MW\n5GUb9dQrey+WmdlX6c40Bv0dbQvlTXs48+vLXM8mqJH5HoMTgjxvFGX3l8AH\njOOn0qVOg93CWs/UqCPoHpcUq8+3ivNUOdpcgK1FQ5oNPWcBZOvGtTWYgd28\nfwoX6aTyI0EXwL/SYneZmMdjrnS5DaoKbgTIdvyRPpIJKupQJCifL2ARG68h\nHOOI4lbmmAjHJucUfWfPIORMegdCeKdgiMRejpchgDIYaEaTfX9OK4I2fCSG\nH3fRK0UNTFgNL/MGQPREVKULlDoNSjPohCKZG1qdaGF75chT1uG9Wjp41OQg\nkY2X5/cVeidy0+o5ouiHiqX62jBSjN4WweKfjbgnsccqAuS+iXSQNX5c06Hi\nLBw+OGNk+nUPXlsfRzyTNhCMzX7Ka7/q4IDGHN8UfXLJ4HdjMNljtYdG6shz\nW/TZSqPgdpM7z4xUMccfEZHZIit70yMCzqqbMOL0wczyBZWfI4rP1zYjVMj7\nlw1g\r\n=iYWI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDY4S5mb+CmOx54LSQ1CTW/19UHMt26ST7JcBC5wEhN8AIgRiQscth0Fi0VNDi2JrqQbwoiVvm1TAncS0SnurOqJlI="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-113c4ff_1600894434125_0.01882585089898159"},"_hasShrinkwrap":false},"0.0.0-275bc29":{"name":"formio-sfds","version":"0.0.0-275bc29","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"7018ef2b8a047639f38c91479edeb99db86d6be2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-275bc29","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-L2/6L+URXwU4UZry/CaNbmB9gKnR1WtWbRb5XdMvnRL+SaXbE+94y6UMTM7pYW1OCHgo2jlaxwzZQ3gnmjHDNQ==","shasum":"b42795479ec6d788e037759fc0605a403232e90e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-275bc29.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa7ZiCRA9TVsSAnZWagAAvZoP/3BkAIYvklrgVWMC26mZ\nOxROYaB8M6uWo6h2X618WSuX3b5MRRGG1RXL+H6YcKEzKEnYEREz+GDfQfkM\ncRiyaJxxz4s6ZMxhPiRTs3J2EjJRsh+JPlbSUJC64Nq7+NV/xG6x1i8QxN0a\n5DMG8eAExlfLlUGVcG90nCHKnanQDi/ULbPcZQzI/LePfsa3z/V4v65BVH3G\n1ir71K5pF5w8epSkfe/Cg0sKcJhsKFHgtWQPx/VjYdvULqDRNBfTeuG1VToA\noWjon/kCkD9GYY3hD8MRkAl7xMdEZIP6P9Fjg5z9HQszgGAebS24qXNqvcx8\njQZwrVYsRptaXD4VO18DtM6LMI6I5Ynfkkq5smWD/oSMkYZ5a3o98EYxhtnT\n7RrAMPv7HiL9uEs65rojkmdeKm82KZ9nE0qXuktc7gEgmJE3RsW7U82h9hSF\nk71S+ahcvJOKq+NEh865m1IUnD7g2cMXozsGXb0eCAmzHkJjV3cKvSwq2KiB\nf/jqjXEhOpi9VHnKsX3NegKOl8k7RYiV1Kr1Fl6dKgKtp+B8+67Fqi9uW2M6\nwosSu9jXBlS0HaCsUpntln10FZEK5jT3RJEPg6wdPjvB6tIZxXs8CdNwU0D1\nsoI4Y9od0TAIj9+JiVrdcuZyIfJ+sYndD7IG1mbxjBIBKBnzHp5HwhvBSQNK\n8T8w\r\n=azbu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBXennyAKf1bETJJHoYOSs8dFIm7xeB7srlZSFw4YLRSAiEAuiJAWoY+DPzAtq10c29VqlyNQGBFpVWALkB9g8bsBvw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-275bc29_1600894562210_0.5203918863210784"},"_hasShrinkwrap":false},"0.0.0-2f70684":{"name":"formio-sfds","version":"0.0.0-2f70684","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"e12350dbefe4b6cc3fa00e16e3589a0a310b3e7f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2f70684","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-kfqOPlgM0Xd6W0FIQwAbdg8Saxn1Gf3y4rQV4p7ka0mondnyyoWe/uw3EQ9baTESmLDJbPjvSKzXU6WJ4eEB+A==","shasum":"837a329b9d6bc399d6faf7111c31d7d3293202cc","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2f70684.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa7b6CRA9TVsSAnZWagAAE0AP/3NUQOF0hGpFPMwuc/3U\n0qty6TTXG4d7WI1r+BCm63qxEg4opXqWNvy4Iq2UkJ9Bt+d5KEtUQO8bhFHt\nZ+9SGoopb/0vcmVqpf79BBjH3vsUsivpMyzSm4nL8qAN8mDIreyvngoAVo35\nOk8PVF1WbiH9j4NaccdcPTNJcDFa9P+EjJw8eLBfSAv8ZOMPoR00OREay/+0\nYXLH0X7LQ3cOgesTOKNogvQsK9Rtrr1vHSqZvWZrYl9ZWq1Jc71RJi9X/WGN\nb2W7PoCyvCUY2p7VPrk30cRg8wTWK0USuHowk2heKBgJuz/sdIFfYOadfZSb\n8JDj4OUX8ZCBH0eFo3Jrt7gyEYQdGd5ySONEeoyYPQxO4D2IJdCPoCyrhZYS\ngHeHjAKrbvRzK142m1vvM74NRhCZw+9esQdlPJpH0/TPirCGZ6/5WFuvAYpo\n/ZjEPunwHzmBjO+gQGQKKJ0CJr3Xo8BVw9IBPrDUDCVYKKf5ek+S4Hlr1xrD\nxHFnI4EaX1czhemvnijyPn9LhTR+EzMmnH0betcCKd1f17lhGXCYeEvEa31P\nlHLlJy4nYxbjJLZDAiwoKau778ZoQhj7rIL/HEh8iwm4dSyi7Sx0a9xekKLS\nh/ToqQmAwpPMn2psOxWvj/HzasdpfxXeQ5OFz7ZDAky9GhxTuSuWcaWTjHeN\nsy3A\r\n=RiUx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpNoEfkoKxHUdGJzQIMkC4K2AspyXGFSTo117jxH604gIhAI/l9fNvH/iiT8J25Ke+9tQSt6YOtPmngUyq1SkhJGpr"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2f70684_1600894713469_0.8595977438986964"},"_hasShrinkwrap":false},"0.0.0-7ef9b3d":{"name":"formio-sfds","version":"0.0.0-7ef9b3d","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"aebc5301a7405cea5c6cbfd4df0f854e28ff1a98","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7ef9b3d","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-aq5GNgLDop8s6Xktwxkt5RDIBkLKeh+cV4LHbzDhh2BSayeO5T1hdfcPH1k5LYTpaHs01R9velLhZpr9H2e0oA==","shasum":"17323d9e797e3e1e7528c57b39f64550498cd1a0","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7ef9b3d.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa7hjCRA9TVsSAnZWagAAR/IP/2u/jc25mSWxTG70rXpE\nIQ74srk6aN39YHnngHqcqsENSXLmm/0454v19/A63msV0BvEhAXDGwoHfWqL\naWfkLDAqML6mSJOiD85/kk2fyHhXANLWXwn0wcANDY1htG6woWCD9V+ilmDp\ny+am4ClxzbZYME2lCL85vuMNl47nkY/MiYa+wYienwdYoOEyimvjDODqFZbE\n5q8hwmNhoj23hFMfim53XeGaRAwh+qPzUb3SB8XAgJioaORLjNgJ/Fxgeosm\nQMFZChUOlyFeHmvO+KnzQ8jl5qwWx7VNVd2wFF+W1VkKW18NV2ix2Tk9y0Ml\nZpd9haIa/kbfymzJM1QXA3gqZk/80qnqYSfZbqxlsvB9x8oN4tL1pTtfWRj/\n67VfC0uQkV5yc64lAVowpyqTtWD/jOmZo/+jAgNVdys5nT81lUwKOb0fXvy1\nUrUj2dJk3PmXSmhTE1TLibNEPFS8w55P/AhUSEOvQ3Tfs8QRPZQcE7xsFKmf\nigIncv4F+srSfiRavvXsuvZZV4UJX5QtR29bsaHnSEc/63heODkehhik66w7\nvPaov7lLRzwNkEDgjE2+hD2QQ+/+SdhZX2e/WsEfAVLoj3YWoqGKKH0wD0GY\nuyeEcgXv/lkL0soA2dXlM32OV7TvATpRWHEkthtsBeX/KJ+fYwN2E2Lui/MS\nuug0\r\n=1TUU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICSNeSEoaEFn1owhmiv0bKBHqUMdHTbGrf7ySTONM9GhAiEAlPsHqsnMQ2qRf59HZTtxqHmyklBFIfZYSCBP0YgKF2s="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7ef9b3d_1600895074787_0.62190326671388"},"_hasShrinkwrap":false},"0.0.0-a731000":{"name":"formio-sfds","version":"0.0.0-a731000","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"e8061a49c6211cd0f52cb633e7af758d4ee3eaa4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a731000","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-SCJ9rKmwC3d180D3hsNWfvdzw1ZLIZQqKMEO0GAwWMx8/cSWQLnlBqjHlGc2+1ErJzu3mXAA05qnKcY8zPQODw==","shasum":"74a4790d989dc7ba26dddc2487fa184efdca3c92","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a731000.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa7pkCRA9TVsSAnZWagAAd6EP/2LCZPSkxeDwRSTA1ELD\ng51ZyQrD13gcNMXCWcxFCxDZ3LzLt5bCOBTFVgO8ts2OqrBRiMcVeR8hmPtF\ntxJJbqTN+HOc7YVQzGj3coGj0rL1kjG1TJI5ZhgO16tcmO07iA52KQTLgMxX\nqFRAvW9GziJHtWPTZX5/WeDqYlpPw4wP81oyBpw000zTN44AuSRw8b3NDnOt\nO4oSP1622f5WyZr5haJJT4ZqGxu89IE/Es+OnqeSDj2p5ra4h6qftgR2MM7C\nxcYxIVYNiAPsSWXr1crWRiSSMaJ9hZM6GNgCw/UdFSy9sG9htaO2Y8rhU1dH\nvMwNqLbFJ5jKolDX2snSnC0KnpOWQyAVafi57inqMz6boUxdgwdaM0oQqvfq\nlTAj7DTzEJh9RdbmbhuBnYQmXDp0I9n/Y1YgaYaM0RGOF1JazqunACC8ChyI\nKLOeV9CM1SZjJcvywzFzgtPQ5buf8oeuJJSJEDV+7Moo8amOVefwJezriVYe\nEXyrxYDB1wfdHzMub1hIwbYD0mjM7UYPGqMbwELSVooGyEFX3k+wEzFV/I3Q\naZyQXqBGCU9IjvLnbDfo6FYl+Rx+1yJguPoPl02wKSfKTg12pRtc34ML27TN\nTjkMiqHTkTGb9tKw7RJWz8k5KJEwEOuZA1yxNgqT2xbGEnHS0M9kS8rHeX4G\nJ6bl\r\n=tn51\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnW4v4BZweJnLm3oU4Z/l2CXgBhyRMGSWMQGWbZAn/4wIgVZLH6JSyvNwefBeUhnE09SGuw7vdtd97SvRJT0haYgk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a731000_1600895588054_0.854320967038888"},"_hasShrinkwrap":false},"0.0.0-3bf48c9":{"name":"formio-sfds","version":"0.0.0-3bf48c9","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"7bf1fe58d2ca64dac954ec639dcc8ee9e8d05d81","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3bf48c9","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-NLEHno21yT8caFyH9r7uD1nBGBOCu6eE+zCGdxuRFs+GSNkseapLbA0M+D+x9cjL0dyJlteJAYkBlek2ynxotA==","shasum":"d805f0fb426f899aa3a17f5a2b593bbecfd9f504","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3bf48c9.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa7wCCRA9TVsSAnZWagAAd0gP/jpsgEi/EX0pHfGEmTQE\n//D3ebVfGmM3zA/+vtd4OHGORoHLl5EjvHLy1BM0875j7LyLM89+Mbng30XI\nmvRSYjSFbB7CQT/4bRwU7VW2fsl/aQgsGHePZ0N3drrDEfXxn68u/gBvPJ7L\n/7c6q7qJaXpelslpI8XAlf6i68HLQr7mf3hhtp8WoUOG+IPZs/Exe1+hZde2\nrqDhOukErIocMpvmBaTZbJ/Mqpu6mO+d4MA+8FOn3U2h9tl7sgycPHgqb+Em\n78lP9TVaa8ELc/XtNSEaAjNVy6uc+F7LvP0E0A2HNU0g4RKkl9p7gUj8xOUX\nZNYAI00zT6h3sBWZAsSGU/bah2FXgcuEJNDAYZwLHu31BXlffQA8mUjLWW7J\nOPjxYz6K+g4vEApSOXih+mcOTMG8I5HACKmli2sHR7/KYlGIGEpFePCBy/yA\nME9MeJ5dZeUhq58O8g0IxGZAftwlq6yQZgeT8cVwSOsANO33lmu6kXfq6v+Z\nczgTHewWMGI3Sdt0Wzl9pMaX0VzH5C0u+HI96TRyRU9GpwA9wq00KUVleZSC\n7lcSIGR97PYmThkBoNe9rTsAgQngZMHvBgPB/L5fMlOkZjhU/xxYHmqs4nFM\nNsoQkONasU2jEPU0emZbDbDu9iPMO3NixLoiYt7s2k616TcPT63YLUpUZCLA\n3eYe\r\n=YzCy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlsNA0PK3WeDchetHLkZTJmwZt79qlJGN9MagjHWUorQIhAJ5SgF/70jQt5mnaka8WU7ybEc62V3tyHRd58oCHb9vs"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3bf48c9_1600896001906_0.23373490978911993"},"_hasShrinkwrap":false},"0.0.0-5890c91":{"name":"formio-sfds","version":"0.0.0-5890c91","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"042c87830f59ab94705024da89204dad399aa876","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5890c91","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-JSkxhKkuhBbrr14pKI6iFN3X8F5dAVnQ7UVgY06XmIvBF5/CFKTtaZHBiOw94lEY1jCMpCiGuL2H6GSVqA0VeA==","shasum":"64ed2fd793615e2c90b7f9f2358148ea7f43634b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5890c91.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa7xDCRA9TVsSAnZWagAA+O8QAIr6MVmOK7aQJEg/fLf6\ng0H8i2ondaviYqMD6D/p0uDfLx0LxeSOLnv4qPtQrTOM7kbT7vRNymv9Cpfj\nLUZTFQAw6xXxRYmaJtXRMcEdVrkNEYZBNNzXzbisZwyeAybJCFewcKEQ3cX0\npZ6ea5AHQHHqyOj3he1WvlMyzhG6IXQztXWWLiWV13iAJwG5ACsdx6eBDiZy\nKJ1XM6J0k4S11PU7urteXwNAtXTqLZsLML4n+G9O6Ra4IEtoFVZIdh42NRKR\nr8+GGl8gENmQ1RzksFj1ytqlTJ3A67LtGL7WDBsA3P19F7PvIj6wZntsOGhn\nuVB4efOb4rRWRBCDr1XJVgLD9I8adhQWblkOgmCchKkrLRk24FkP3wgQ1MQE\nqTgDO2UV/jrfCNy1CVZMGJHpJUjl0zGvjE85yk6Qa0LPuKI6fP+cTdq+ahkZ\nYnu552ECN9AHLLinfOWI9EH8GQOGbt+iaeViwHcFwfFclhfGAmDmrlRkRq3Z\ntYLmFX7mMyn5P10rM0TXu0XLBLTsw0m3Pk19L7DxJgNHQmZepY7UHqq5/nYd\nyYaRkCfyxeg5jd6z0qKIemhV+Ax63FBZEBUkLwHeIxOg4k3Gp202UImT2/0O\nQx+sRdy7NoGZdCovgbdN6hOFN1sgBIxl3JZuFQjK7QMytsrRMuxqQhZAWt/X\ny3bB\r\n=2Hgy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVhzj+kDDpAt5ULYh31krM9ySldIv1XYC/1sAAyV7cRAIgTPgLobPaPGWHyW2dsdeT57tYIw59qKGtpzYg6ieNX5g="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5890c91_1600896067379_0.5421927880194446"},"_hasShrinkwrap":false},"0.0.0-3ef0861":{"name":"formio-sfds","version":"0.0.0-3ef0861","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"27d4351c5ed7863be8eedd4c2c9ede6d09bc0221","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3ef0861","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-qKsyBWQQUXnH6w5SLYAaKxopOpDt7srUUB3KG3M10x3OSF/Grd7HD8TjkUQ9qx6bB/s5Nw1fPQQ9LzRXuqcEsA==","shasum":"a7c3fd36cf7be6c81be7d5f782ff6c6de2310b67","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3ef0861.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbLEiCRA9TVsSAnZWagAAG0gQAJo0Xh6QzSvJglhdVQ8O\nnJfc3Yq1nKgmY7dD0bsRzyT97vbxNtUGQs2OstjmddoMSmAeoy5hDZbhvI9Z\ngHKyQYde2bckbAA0MJXCtepvFjqhc799jHslrvlXGPbYW76EAKWRkOZNw7mk\nbusRKW2eejomKencw7Z8XllzF+lJvFeu5mBMq4Fh/MFs4DYNx3aFD1LFj/Qg\nox8M3WLb2UbsR2St/NnQ3oQqyhHQobAwzIMtafTjrVlLguo2UWjkxQ3gnu5U\n+omdEKbBTYju5PMhzenzzLycy4U+e1j2IqkfNi5yhx1eXRVgLHE5prrUdNmF\n3rSPZ2769YLQFZabo4kduaiLVqpkfMvZVYCC+lehDc3qPJMtfKRZ10pLrsCz\nb/bisRd4PWMHxBqWo/2V3sCuc0uNdPIkGh6aAQ9i+0CjjbVWudkFnwp8j7TN\n8z+Pt198JR4YgGyNBGvUyez6grDWAr5fSC03r0hFHhhaIMYM1lfJUoB3C8OM\nukf4ods5JREzAjI/3izpo2ACWx6jdGXuHltCQJukAOhQHJa7LtUTlzKaXh++\nhdlR4OIMZRwqx506NnPfjt59bAvjbjLz1vC66pJ8OPiNBMBqkzAuNWeA/4vy\nYCOQrduIedyd+9US6WfrQmK9kAno9EgxR+qSM3JFVbllopi0Stz0HqZ2k15G\neR/r\r\n=rnMd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEiTfQriRYXz2wmDUMeSyZZSk5DAVLFGeEOsqSI29NLLAiEA9SORofxdcJOY3TCTjZrlowK7ODsArJZzaTNUNzTd9Xw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3ef0861_1600958753654_0.6512934500266667"},"_hasShrinkwrap":false},"0.0.0-8124428":{"name":"formio-sfds","version":"0.0.0-8124428","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"115faed3a3e7e3fc6df5c4470b111cbaf1b5e678","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8124428","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-3Fv/sYLgMvhc+Y+IlCfBw+9Aqig9De2nKP2X1bqI/WwJtRzCRSF3H5ZN7hPRGivq1LmRNjQ5WfEz7pKxiNjOAg==","shasum":"da99887ebdd4f230b5d145c2fab3874407fb19de","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8124428.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbLL3CRA9TVsSAnZWagAAUE8P/RzBfp3a7bgR46uQIZTq\nQdnksOlYMcFeYQQFR1VQEDjxLNZlHp0UGnGSup9fQBgutvdblyhpOog9s/aZ\nL9A/C4L0/SsDBUa5J98hgx2k3vLBai6LjWokTJ2HvlMpSM5iblVt1T8jJlIk\nfCXJmjTfC3m++8BY7kAelgoqGecsCdjNAj5L1lFNSlAkE2ldycXN2hlue7s7\n68VsmIzLKuZct2E56E+ihRzwC6y6Gt8deU8IdCzfqSKeTRgV8F1LuiOLDcpf\nyUdZQMYJaZspYBrXbJX15fOY6SMeXMD1EokFFLbrZIr5XBKvu4ejdgJANr25\nWF7DClgUnM0FOdPPpkW4HQrqbczYDQl6BYel6rbyeqj47THCEzg0zeYernP8\nWjS9mI/0A7hpYwpuvo8a6mzCNm4C5NA29n7iloeZeP5FN1wKX8QkvQsYBNt+\n6CNdYeJyaANJiCjWfsjH5XZPHSrxb83YNIXCN/UgrCl6PU41FaBlK/z1/lex\nx+mtgFeKSElCDX0OjwmBjgMD0zqZwTmZuquZnD7tySVdVHUOVsoWqowUQVyq\nk8IrIW/80MjboRaTgx3nERLx1PIrGMb+hpdseqKZAZQpuQqrA4Be5uguQFTs\nC1F2DeSNCTQAAomeaNG0DtxZraP/mZxvvdAFAp/uk83BFglYbRr4kKhKGPx5\niCyI\r\n=DXtg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBCbWG/a0RtYPFnhW380ri6wxMPXNO2qHNmmrfGZ3HFxAiA4GSLVtfrsHUZQ9H97apz0ixGPsaoIgRbEyYqSdl+Lrw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8124428_1600959222531_0.36074924710918665"},"_hasShrinkwrap":false},"0.0.0-50ed236":{"name":"formio-sfds","version":"0.0.0-50ed236","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"41b07cf70e479d23d98422dd8001ad639e966784","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-50ed236","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-RZ3qyPHnOdxPqeEyz2oQ+KCmeXt8rUNODXjer4vT0ATz0cEwQGJXx+Uv/YoloWLcNC5Pu8XH8QirUH3E8S7eIg==","shasum":"e84e5144310c7610b9b14873a53ccf3686b5e9d9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-50ed236.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbLZVCRA9TVsSAnZWagAAhqMP/R4K/cSSg7PdyY+vYUxo\nAbAKVjPRfEHb+CaKKGZR00qcrF85uFQxoqY79QeeddGwoN8roTPSKIa0CWKU\niHj1nvuG1br6u6V4+bDsHX175rDomsnuEhiJc3GpCYBdsPcBXbRXszJInodF\nSH7niwZGFC9idGgwadRaJlRuK1CcucSbKeexaVkNZqEr56bH68gb5zvmUwWk\nee5L/WzImRf36yCKqJZwHPEnPi3qEma+X2Nnvf6BvMa5H7JiMG9x/7U0a6Yp\nPM0pRA4MzzxiB0M4VghmmbfxdgrM9R7v+eQR6fccaiEXUH04H0B6wL4+FX4O\n4o/bxJ2KJRTW8+P7Q0M9QGALdcsF4GdT4a31w/t+befe0hId8O/AlsvZxUJm\nPROXk02irkmH4YMFOt/oFv9aycDuK5ufRWSIJPZoNvelPcBviLEJGmPtHlUt\noJI/MBk1XHOaGtNQDo9YT/6nPoVBnQRvUeodQ8+YHEkhNaB5BUMW8MY7qjAZ\nhPDK7W2BdO09f0BhmKGSPxWHpadRAVp6GnyMlupbXxC2tabpta86+l/oJJNS\nvNgPdiFVp5CvBAPFkLbOQtcpz6RJ38epxuwFaTe1rWmL3asseq535QejMb0Z\nkhNDkN1Te8xEb7DUt0UMvvBgBpBL6AWlb5n7rMngUUStjb+RYWqqsLovgDiW\n5Puv\r\n=h4cP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG4PJG2ncgrLEb7J3eU7J8Zbxx+BxxMvPPAw4n+mJM0vAiA6L3Ru9Hi2B7L0yblxyZlWEDuvA6q42bcl23YvPuuSww=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-50ed236_1600960084641_0.5442329433987925"},"_hasShrinkwrap":false},"0.0.0-014699e":{"name":"formio-sfds","version":"0.0.0-014699e","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"b03ee9116e5f3ca2ac1b553d4a04a6cc2c36af19","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-014699e","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-x6f0UwAdc8jSdcYnA8ox/z+5z2qy8zurA+4p8GMAiGXpjkvyRFgNnwDi2cmi3Cr5TDJ6KTDlFdJD6CCvk/IQxw==","shasum":"edd7b49277f40c7410ea841bea29b1f817f26d93","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-014699e.tgz","fileCount":248,"unpackedSize":818079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbLrPCRA9TVsSAnZWagAACxQP/02fzXyPKgADdh4yzM1X\nb/W7k0WRCMsXYG4TcwzjNBEpgoGHg4wgxnR/7ZGzLnCISvDspuGabcOUe6ye\nq0DBK8YyERfB5euWuVSZNIETNJE70MTgJFR6Ht08wcfnvxcmOpMmM5M0kmF1\nGTXi09DHoGU4wY0+00wWcfLQUBMDAjr95yML5Gt++Uesu2kixUXdjEg7U1u3\nIGUFFDgFEyeL53fMSDZYcxzhKk88wOOuo3XkRwsJdM8aGrkLWPG9+mpXMLlj\nJwDE8MV7xiWyF06UaiOnMIrjhTa+ESS4f2EMzHaNMTTJhCCmy1QQZhjQhs1h\n0zl12qDf8EEznixNjkswmXHg/htlYzTJzqNhclPOxRCtK2yTcB4Mwpzm3/Nc\nI9xaYN4yjD1+GShcDeAWo8Qn8WiH1o1tikNsrf21W02kO3JdcLrWz0MCSj4x\nKqAcPLoz+Jedirub8fJWADaFttD25/8HJSKhCFmcMng+xJGOt5xmULhzwYIm\nqLrX2/A9Oq5gIsb2k1KMmdYLZFCb/9XXCG8+h4nKRmooAkHNj0drf2nhYtur\nMNS4K+uXvgajiTaFb9ucuE4+K6dfAOng0FW6Jno4bqWqAJAuJQ88cAvWhEDG\nMJN4QW7VGUJeTrZAlnwBp5GRiZmr1UWHOXjrM9OO1maIwAVYjfWY2aEfr/B5\n3ouS\r\n=lN7f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCa7kUdItOTjkUxuSXfi8VTkJzRmp8UJcZQLqPLYvaMGwIgZRLEBMwd8tDKhInLfRu5QmH+mOTl+HgZhu/CbJHWijk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-014699e_1600961231426_0.03507664884041928"},"_hasShrinkwrap":false},"7.0.0-rc.ba64144":{"name":"formio-sfds","version":"7.0.0-rc.ba64144","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"1ec28b0552771455d88245250df23ddcbb908052","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.ba64144","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-2iK8b4anu1K67E9q+AuGoTZLVaJ8z9ewU6yUHtJQYqi65/2UP02YKt7K+OHo5dTG1MCbn6A2AXDDpizEVOqEhg==","shasum":"6927c7802b17f013b2af765563095b0518babf6e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.ba64144.tgz","fileCount":259,"unpackedSize":893756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbM11CRA9TVsSAnZWagAAHqkP/Rhc9cvTnKpti72vVObX\nhXNzNwIyzuMm87U8+TrPVIQufZGLvPoiCEZsV3RCQYLYQ0HmhAreABFeh0Sd\n6gv4anWOUM2OZbYaYmipqM47KzQsMP5DzsTLq/XgAZoZGTcI7XtqGT57PnmV\nyJkE2fSioqM7+Yf/7ETT3sv0db2DRZa8foEUrpvDZ2aO2gAgUrNpXi8LWm4n\nHangGIC6uYas1maERk2y11q4N/wZ5+KyVWmyuYKnDEFWwbhDVGHbaayzXVG0\nomzLwSlQxl7JIQvZQv4rulrgSdDiWhksHJcnLT8Ey2C9w3gAxVjmQD/CkbdJ\nDnnlo6Zyl5RiVWmRBnp12t49nQj3jz6VbGN4Jh+N4EOAUhJasL5zOTqu+X3+\n16f0RLLFmK59IElxpy1DO8s61EHAtT+A+NvQejv7ZNcGKH79dDlgUuA7Z1Kv\ng4iruhYSZsykpI2nalRN6koPpYvD6SbXbN6OOwXqAZlU/vpIFGrhhPoozN2v\nv56kIikJ/6kU+oKbwTlY7VGXvnVu3jDRw8UXj9ijnSam5YQKxiEFJ5WIkAVj\n/tAwq14xoOjO+w6MSNxMVzE4N5p2+DhVV+0CNnmTZZrfYYYeIWg50VEAwBKW\ndq7cQ0Spl3OMXDsoDgb5WuyLCISVm43xoVsQKi8+ryuPeOPAj2xFf1QaNo2w\nOVlS\r\n=Aehj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBSM1ZkMj5VcuosjU0wWb1AamzpUWBZh93NNvaa1s/pOAiBEpnGvtoiPOGMh4NrDkmQ3ywgUpbEaAlc+WSNOTPL1xA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.ba64144_1600966005306_0.8678377782762658"},"_hasShrinkwrap":false},"7.0.0-rc.a85f782":{"name":"formio-sfds","version":"7.0.0-rc.a85f782","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b2688d0205cd8e772a890ce27a9ae505ccb78bb7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.a85f782","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-5UHZ1QbKJ1YC8lKCH0mZTeXC88loxDfQo/250eIdR4xVhKESpaNRyd+PaOhnp121Zj/JRqVX2+oriCpNGNRv4A==","shasum":"adbaa65e5e6e1932dbecd4593af160d2b55c50cf","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.a85f782.tgz","fileCount":259,"unpackedSize":893756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbM3aCRA9TVsSAnZWagAAneUP/3vhodYPlszayfmhxtol\nCL5XKMA3ACPXKbyktnnRIGsOQTmEFPMzx+bIdkivsBhwvFFLT407DAWfKn+Q\ng/0jw6jXcVLsim1sCCnwiugCArjqSqEjoCSnJajlefBm/V3eW9odAuUT5Qrt\nYw7Bi5GIFersu62iP4fMnuCJHPaa6vkUZSEGDqv1mIJWcUaDCRqwhQl9qaj1\nirPsxkh+YGelnrXw5bv0Y1D4BUZ8PobuxIciyHkMERyyScibayKQA4Nya0/+\nqpo2QYEZJugHuAegHkheAhA58EWO2up0tf2vtKCqQwfg5BpvbTvLc33iZ2KU\nuMkK1z42G/OyzLcaGegfTP/5RJ1LyiLpOtqmd78xwTX6ql5GGtXB6ros57xl\n0EkbxF5ayLEInYKKM0U36Q4ruObWUa6a5GVQxurNp4wKV00dnQxVmHyH72xY\nV1Qq4mzT3cuosWITDJyahusp3Z8+247n0aBFDuLrNmn7LFf/qDsDwapGZTI3\n6chpK7nI3a9oVkvZMEM7uTH/aWALkwryHMDoG0m6q7UKsJJKq/ZK0d257zsA\nJMCp2pA4I7043NF5tTDz0OcFy56AhwJ1ew9rmJ9wzs0Kh1QkR/c29iJEYVrb\n5f5pX2iLHGgl0WsUwSsSeQhdqad7IPDkWFBoR7GhVgxdxZYbjpfP0RLk5rwH\nDT4O\r\n=C1BC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBlinhiKL05UKiosDyd6kuofNRihBfzs2I46PhrO1fmgIhAIV7/FC92rdwX4AHPSNL8FNet/VfDjZeOs/pzot5xW/C"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.a85f782_1600966105666_0.8841733974376171"},"_hasShrinkwrap":false},"0.0.0-7bb7e30":{"name":"formio-sfds","version":"0.0.0-7bb7e30","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"59b427cea08badba817f5a33ad4005c380bc5dd4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7bb7e30","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-eV488q4EB1dSMkqs+qJTDpb+bU3cPA1sZnuLdoB9gAgXpO6WtuXXMhUNquCnDcdgK1VqBXpgd7xBsuNPPEUlQg==","shasum":"15551b8edd770bc59af749821de5021d55dfbb15","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7bb7e30.tgz","fileCount":259,"unpackedSize":893753,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbM5pCRA9TVsSAnZWagAAERIP+QGoGOBk0m/S2ZhxjFHI\nHzUfQlHZRmQdBjGeYBRoshivkMUGmcIH3pQgT6/5oml/rGrRv7O1dVQAh3uR\nKwMCMfY1KMhT8sIMoAYOjpRur9Dd2ig1uAtq8/D0lTrurrcsO8GqcYJclffu\nik1AD+uCDUXBmklkjLuwJfvU+uoiQQy3j3zp7Xj10I54g0r9fad7QefM777R\nwlgdU7X2irbmUCzqEaiH4pN6WTsWI4kEaMTGw9G/czC3p87O8XhScLQbJusw\nsHX8ykFdY+K6l1C7KwxI2k0B5XQbDBU7xHZSp18DyEPDWj5MTFoPDGSmfhQY\nxtvhgM6YHtAPChmzlOYnSSnVUqh61MRzlck3D7mwnxMa3N2JwAl03+3A2OC5\nJDFdrgMsoZXOG7I6gbdDKkm8ys5MEE7Wy5X/xyDWC+FPfDJA0jVp1aEC5Pcs\nL6dX3HxoyFzZwuJGVwQYLhoQtEmyawCq8zvavGFX3z9G7v3fuR7RSn2dsoQJ\ngyBEKZHAEObFe/8kHA1a+LmeaoM5tmu5nEET7LzmePI6s14MPEpOWhQORubG\n+fQ1CCBAFZnLuDr05/O3btlP2PBb5TkR4HoEvrGIZusR4yLWCDoD5BXO7qG2\njwC+swUaiPWcskYHQFFJHXXpGFj6DozrenL3ZsKzJ22aaqJYYH0tbEEogS02\nn4hF\r\n=bmg1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFEFojJ6YLi8pRJiNigx9qKG476li/NNRa3aBEwcz/LZAiEAwLA4sYRU3r/L50aJt4hyMT4vagttyJJCSTlMWcZBrmc="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7bb7e30_1600966248715_0.18649966509194327"},"_hasShrinkwrap":false},"0.0.0-022ac05":{"name":"formio-sfds","version":"0.0.0-022ac05","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8efe816c1c998e2e0afafb3fd94b786d3331fc30","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-022ac05","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-oVs2Q6dSu9qu4M148t1G9I5mZPlChwWmJNgPbigGiWrwwRebfPbHieUzRa4aR4tGh4KreIrVKzHWrs3Xyy+ZWg==","shasum":"224a6ca4722f55ae2042d69a08d174dd67efede9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-022ac05.tgz","fileCount":259,"unpackedSize":893753,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbNEKCRA9TVsSAnZWagAAOPMP/0Rtu0GVNUQkZywEiz4T\nvz6Evxy+uAbflJY56QEMBhaMtGgazQU1zz9cOY09b4UmPJjlJOmgsNcwkda7\ntg351bJ8yrsKXAcnrkFL1ffIdlB2rDdhAj3ayN4wdziUUNx1K252g8yxM4XF\npWLuOxUzD6CuJ3ByWFtzQQv0rWo8Yxlld5FRhG2y9uJAyFXepibcoCnn7xZ0\n7KQKjCsnwS/GcrQ6woBxAwEI1/JFSki7hMOO/orYJwQ74+XeRSkYq02tcbv0\nsV4sM2vnfvIQsJ9lss+AEMXJZXBaiqDTFfj0DP9c/ZeOiUZZu2c/6cSTz3bw\nrDZItTnLP2k0JXwPnCM1fesIfwEpQxGQXl+LBcCxUR23rOcEwrqXhPKYjg7F\nx39X6g8XjTJy7NvnwEFnOLY5/lJQm2izvRzKgyI6YeE07u+wJJ5rotkMeixx\n3sFITN7ppcHu49KMNrhBLi+3SXy72Jfr1mYpDthw1l3aDt1btBvAOcslRQNd\n9hEotQxOd7zz2zR99k4lNJ2aicMgtpAWt3xkgsmbdZ+ZShq3UK9tDOGlc5zk\n0dsG9b2SfiNt/F2dz1IwNXdSDia9WjtaZMoFAOU+p9+HJGiFpSm9Rmgnl0zS\nelVtRzR+1zFXpbC3myJQ9iPDu3M853pMJ+/Xjq2HNTPNKGAH/cIdvXFT1aPv\nMmjJ\r\n=LLw8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdmy8VytdZBriN46JFgWbYwqChrrbGFFRjz3wcB3wi1wIhAPR8BH6S9R6Grtor1jc5n48v2S93SOxo2B71bpDiUK/t"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-022ac05_1600966921639_0.22008424166009877"},"_hasShrinkwrap":false},"0.0.0-d87d279":{"name":"formio-sfds","version":"0.0.0-d87d279","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"847c982e2ca45d97f98ed7482df0c03bffb19c15","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d87d279","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-UAsIUy5sGasMkBYmtyZXuzpy5RRVsqPl05jirOlbmk2YwMWaUa1F9wgBBkD/VTcV19td+fMui6Fab4vDyb/h4Q==","shasum":"baa35d8b10bcb1fa43b0b43891dba7799c95b871","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d87d279.tgz","fileCount":259,"unpackedSize":893753,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbmBhCRA9TVsSAnZWagAAjDUP/1d+4S/HzF05oETqzFGZ\nc5cvW9F4ibfURx96AcHVBx7QWjeYNTdCC2gzpxrc/8m3wSI1w70hVfGoQvmd\nZYZ+UMWhF3dh9vQ458mnwZV9JGcpvQDQQKWQ5p5hY/Ho/cF+FbBtC+LzM428\n9CaLvgGOCeoUubqkdzVf5xZjtGjev+KatiPKaGUNv4qIWJFqwI70RrXEKuPH\n1M3RZ327mpSMmtnXaR88e1zZlOYc/bnwCGkPT730KwxL5+F/YceNJ44LfDLB\nJzzFy8Nlf1cOP4YuVz+DBBAp9ylKKaaLVoTs7DgC9+By9RoN4HJhU3SublbA\nghpuRWo7Hyo6v/b73nCIhE3uEZWvyFYg0l4Q0/JX1+uJ2iOMQVHrAJ8SC0G3\nVUOs6kyqMI9clgT/rnShhfyvjZ6Qt704mGjYBpUx/ipQKVgKVXSVFJdWbOoS\nOPksYwroFygA6wX80IhXpJeJim1ulZVGWPUP16r4kzBpaRNKd61+7/ERmXYw\ne4LVSOK3HOBBKpnU+pCvYZozTGHl6VCIn3AvWkOpFxiGEC/6WreASs+2xDwW\nFaU9J/zBlHxrwS4kgsk4co5NISTp1FxVkOD3U/UY78km+AYNWOEFcLFL9pZq\nKZI1IJSlDbwpJiuKjrtN7+nyFKeYUn8by1oNl6zvtY6V9Q8XS3hvq6O/nx92\nRhui\r\n=dN+C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbOZiEaZb2taDBPIT55FlBdN4zb+Zog0Y98eQWMoqo8AIhANrFe8RxOggUKUXdDcpvTa4cq51PT8z7YwnPL5NhvfU0"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d87d279_1601069152638_0.45384451983797214"},"_hasShrinkwrap":false},"0.0.0-cbf6028":{"name":"formio-sfds","version":"0.0.0-cbf6028","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"09c7a1576cd19b8db473c32e1084a0a748cdae3a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-cbf6028","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-CwFdVO9t4r97mMtxOG629p72RvlMxZjl1RGkx0gQAYyxbKjz/YU6RJr3+fXK7e/K5MMMT3DgfDeW0CfxudB7tg==","shasum":"12bd42a5d41b5773afd6d1f88192f7e454a55da7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-cbf6028.tgz","fileCount":248,"unpackedSize":818204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbmNuCRA9TVsSAnZWagAAluMQAIjwYR4bjbSohBdWwv66\nOcJN2nY4HNvXz+Xa6PkUvTRW4foLmX3ktKXxEcUvPwp/Z2fkU37EigIT3Ec9\nkKyizqpXStxSNurmSMYY3nFSM1E2CtJhujryXg0uGscuMiM8VJ2ihfLp2zoc\nSCcwhRQ2e/22/36KVW/ZUNyr6PAHvsFzJFm/+dTbp/D3yYqLc8UlvluGEDW/\nsO/q089lLtEnrLZLg8RZVFpNroLQ4rB9G6gmrqREUx3ATGEd3UwseUHYYB0g\npxA2jYI5GJbfH327eSRk3FdGvveRYq4+2EI/jtMqiMgG4Py97GCeHg1noJ2l\ngCa4c4Um2WZ/+qJAVu6v0Qr0WOO9FQW9n72ep5RUQWg1S16VH6c9roHmz04t\nEXEyNznly/pKIb48vw7YLhJMGJItCUjdRHbj2jTy+MgXpt9JQv2ThUdjxdIX\n1UEJh3sYSK9IXMq7ObTfD133P+M8z1Go6hwbtCYtAnpgHTcLuzn83JKJ8Dtf\nNxCeOSbMb/9IPCmDfX3cyO0Obpwx74s4NdQoD6+e9aaCmapjOEouopSVrXkD\nb21Q1ODpbxfOOoIi3UDzqqDwtFSRwO6g3duAZ66IuRb7fmq7VJb/Fo93H5eH\nL+OrueeP5664MLoezsXiPm+LQbMCr0ADD/mO50J65Q2WM1dlO1iJuJE4LBgk\nkHK6\r\n=iR2p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdmedrZXGZuO+GSNP4sHuGFZfKzk0YuCeXQShp130KyAIhAPjEGzh/EJOLTH0gRT9v7q/Aa2QpFokwEabPdKnLdYSp"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-cbf6028_1601069933456_0.4002226524000727"},"_hasShrinkwrap":false},"0.0.0-c9bbe2a":{"name":"formio-sfds","version":"0.0.0-c9bbe2a","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"72b32cc8f63af2343a694b30dfe3c2cf513d34b6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c9bbe2a","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-rPz8dJXSQaTDABjmqMAhcjNIOPODGvv5SCGVP5IclZs9T9TB0G1XhVTwN9XBWssOJZFAJ8Kz3PKyF2/VcuYyPA==","shasum":"5ab616ac9bc139b063b51cc2e99558c7466a2910","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c9bbe2a.tgz","fileCount":259,"unpackedSize":896002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbm8oCRA9TVsSAnZWagAAHZoP/3JorTyCgOuUdINFYqbX\nkWzSpypG80M00v7yC5+ustbPM5pcukeMrtNmZsRrgIJqnLdH7SLdVbjryrxA\n282kM/+p9xXP87m/mNxhdcuSZh7CGySStHhu1xGBjySq5dVD6fI1Iadx/RzB\n8bd5Nk+S89vDoO4Q5cW2RAmiIn5djDxxIG2Z/hue52+5rdI/VLOj6SjzGuKz\n2tBGKAsouwRoeTFzMoA9p4DA7Fw7fxk/jzay6IdXip0lr2cq8nBsSUcvSxg1\n5Bntw3F0HaL0DIt2AtJH3eOBi2Gd8NctHg6f34kJIJ2OXw+xZQWts1egNj8Y\n1hF+yyc/5FLoX52mZ6jm90Z5wasLBB3L+bftLfrkhnUe/bHlM4D4f4ax1qc4\nqFPoZNioT7R6VFc5bcIrSsIvCleyyaWlt0o1MIrqqH7sh69Mm9PvSGYnI1id\ngfLTmB2E462lO4qumsRwHg/oIJHKnRSrcSB8MD46704sua3fdsFiKLovXw5s\nAhTjEcMeIhv+eoauo2sFKQu+Fhe8O1MVjyd+4d4eMYmlwhncGxCneLPfrkAQ\nMCwqyp/85qCSsmtaIcvJneM+bIyTSyumlLjhHwrk+rYtj/9iELsOBxsXaZha\niKOct/sF8//YC8k3DCehAd7WL/NVnkDB7lEACFkZb+gPvO2dvVsYuRLPqIsZ\npicW\r\n=FH+/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHbiEH2qV/CylLsXH7Gry8fgHYwnMvih3YFDa66PyDmSAiAbOpKJ8U25CCyOOZJXRprm3yAbK1MJ+WH+hxpnof6YEg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c9bbe2a_1601072935474_0.8945654226054607"},"_hasShrinkwrap":false},"6.2.1-rc.979a993":{"name":"formio-sfds","version":"6.2.1-rc.979a993","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"776f20a33d187a0cd8cb8d9faa2642336110663f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.2.1-rc.979a993","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-YHoGtof7+5FSZuKI1mHdi3FTqVEoKZmkdy8R0uFDtsd77NYyJ8DTj1qNKshdmjubuQHHaminLaMDM5E4iosPSA==","shasum":"d947a1b2cc4aeff5a3061b633eb05252c2700b47","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.2.1-rc.979a993.tgz","fileCount":248,"unpackedSize":818101,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbnAKCRA9TVsSAnZWagAAh3sP/jVJEpbH7u9HSAJCtJsw\nMZta6DumG8Ssd08sSSxMIGhzAT54139MALLXWW2ICGqqFukswCJDLQgmc51h\n3VXFe/mSgwNkDEKKD6zJGNgOWl/tNgvPAnfLOCYW9FYqbvxpEXUuNM8LQ0xm\nNnLQcnI0Wmm7aZsbryBctMgsRzrB0ootd+yOnKjCPhBWw3NwvVIG3ZQlRB/q\nqHdVHBfGtIc2pLZeLw+9M3vdEX8QUMwCs7GTOnw5E+QKlZsyQcsVgWCCQsFG\neipayMfrM49t3630uXmDQ/muZHOK1JQG5zNZA+lgOcUJEBUdUaBN3h+ETt3m\n85K8UfWqAV3+qzZlwXU1QFom1bZ3PwpGH0uuPda5aY6JVEE6b9jWBENSi5Jk\ntMJSq5U8O2FK+r8gAkUi//CO8xFPvQFV/0+Mbx0AefuuyZ6ej+PYv/KQSSyL\no1hC+K5Xn6hLe4AG06XAjsPgOnQZbuRW4pvjJaN7oEbVUEDcbqrlxeKs8Ov+\nD25T7PRkama9ht9uOrO4F7elQQUHNMHuWyuW1hr4xfwDPpSE2sP8ST4T+HQj\njHGOheBq5tiHROaV1a3w7CbLFJLabJnjbIfSeHiSsamAsgNiidXTf0t804o5\ngltDCecUvKNPOavasFIwtb4PsjS4fhAG7nCvQg6aKgYdZSCqwNCmtGBieGHS\ng5Mk\r\n=B70x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnKAOwDHAsB7NVIOkkly9C+lJhZmzTJpMeOXuUFZtyYwIhAN5Q1DmW6IOaxRtI3ATiPd0ksjYFS3zG+kQYQxBq5mXo"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.2.1-rc.979a993_1601073162097_0.26492123565833636"},"_hasShrinkwrap":false},"0.0.0-00b2657":{"name":"formio-sfds","version":"0.0.0-00b2657","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-{css,js,html}","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-html":"script/render-templates","lint":"run-p lint-{css,js}","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-html":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-html","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"2fdd8a54d5d8defc218244dd253eec442e7c063b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-00b2657","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-+UkWaSH8KNAFVcWo9YPYygJggf2D/FsE9x18Yqta747Mos9mFMX4OxL8tFj4lAt0A8oI6c1JXuld99gRoj5e+w==","shasum":"cffc3cea905883c15d0fbb4c613fe0995bc6d8ce","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-00b2657.tgz","fileCount":259,"unpackedSize":896002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbnGiCRA9TVsSAnZWagAAMeYQAJ/uQRAY9pRTf+RRQo2u\n1nR/ls8c1wXFmInQBmF+rsufYsyNt+hCBPb//Tmlz2vPPO+V2puZ2s1sNcCQ\nCU8xrw20Fs1XhYcLTps9Jc4/lst905CRBhYlxrRxhTKjmMIWiUaVz0Mq4+Y7\ngobBfNC4Y1szQ6qPAP9EyZ2mhipaY8EBTgeg63Mmu+Zxh2M6F7iQ8wm5IXks\nCyLJH35mvysUtZ3BRbfXN0FAgW6vFmaO7Ckhrap5rNavyXZAsP3dAwdfWKBh\nfmEUf6Bl4DgyN9mTeh68JO/XMSSoi0PvMzs5BBG2u3JHnGtNsOnrsHRaVTSJ\n2DWswcrNmqkzgxTiFQ1T7bWJwW9xwIIV+XRT3avbrXlY9RH4BRek9aSNxARv\ndQLrt0ssmwYe425vaidtblUVbok6iSjIi5Nb5CYrVGEXA96hCTPJ9x5X5sDI\nQmy+MhJAcfPzFt1thzoPJdV2vCzixTiDDCbzJGnDYGU5Qp8JMDPJg5uGS0cL\nDnTfLHS8axWQkMXe8U8EeVy/PGnyYnugta/HHVmlR5lmxtBewBpG4BUZfvG3\ne5i0ACUPUYx2D//AV4ETcuiiCAwH/InkwF7+0/boicHgEKqia0XKvWUOjvTR\naTakq8xABrhl64Eno392QFO4Fo5KxHS7F08q3pQFk+NBSFJLaRdhh9cshKdj\nTbhw\r\n=bGv/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtQ7i/6bbqZ+8V3NpYA5LBjBqfJQC7HuhGMs1LULVuMgIgbtJspti1CFoTJXykSaHpy19ZLeZimRwNQ5n+MeFUAYQ="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-00b2657_1601073569369_0.05411900206153253"},"_hasShrinkwrap":false},"0.0.0-40e997c":{"name":"formio-sfds","version":"0.0.0-40e997c","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"a3eb20ea66cc9a99b025ae32b72f23ef239b74d3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-40e997c","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-QKUFMkFamRpi/WYiFmvtprwfguRxuyYJgnmb20mAwL+Q5ZPMw6yGnU8jyKaqJiYibg+xPioQl2jFz419VgvGkw==","shasum":"5442c271885299df9049debabb97dc023b056e99","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-40e997c.tgz","fileCount":248,"unpackedSize":818204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbnKACRA9TVsSAnZWagAAazwP/15Bq619EIJl9WgnOe72\nzbIxsI3p7L5ZHS0rycWeumf+KHkUnkWeH7gtSjYBwugw+Ka4wffQyeOKhbe5\nGIsSAXHS70AGa1u6E3scIPgSAyLETEj4JiUCoOd61Qx3sJH9wvbSFeyF3pyX\nCw1LwV3qHFJ75TUN5xwtdu9V2jIj2gQ9l0K3QpLrsrJxPCXFNTpQGSlhz02S\nPso4dFm4VoJ/PH3laxv1Ng8GJC0jIZt7WU/qMwZu23RUcgT6LZomLw6qwI6i\na2GLJwPIeHlqYrTYog10r2AQXT53OuiuTOQJPKHSQQbllCeDl499x0PrlDIA\nML72Snug0M8PCrK8lSLwbJOUHGgRBTtiaGiEjwGgLpnp6ColtR9Q6CpVsL1M\nv8F5XbD/w2ctfDjbdMGHOag18TDqd2XwILIdBotmFbZpMw179V5GeNWHhScR\nGSCL5CntOhbhtd2Ohqy3SjuwaWV0A1lk8SODk0P7EAU1CDj0BFChoAowDwkI\ngAaEWP3sfRdpYfRQcklfrl5jl0H9NPYSWqG3nPBdu41FGwqmTUj+oATXUAI2\nakTuxcea/5q/BflFzovOa53StyQF7g2lvEReItZVKfeLdVQWkpmVDv03O1C5\nGYj2YCBban884MKAkh87m5jzyp8xevYlCsRk2lnWGw61Rkp5IWZ/OsIkKZB1\n5wxR\r\n=ZTFF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGVqs2+goLJRe7b6m3iCERfVCiDnCjUZ60nlEt1v/00qAiEAwZpGYx3aQhZxXu2G/CgX8JQDI7qXIzXBCDH8YX2pKeQ="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-40e997c_1601073792278_0.6258374460072496"},"_hasShrinkwrap":false},"0.0.0-7162cda":{"name":"formio-sfds","version":"0.0.0-7162cda","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"4dc98f5378d5b05fe36d289e439676aae383d433","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7162cda","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ibv1QnE1sFDlZyeGYgBsyl8dWsnIoret0/ghSNW188IBd+lhJNOSRXvuA5da9LJq/U0l7JYJmt9Fre9ofiDaxA==","shasum":"6582b4fdf5e77efb8895f874b732a982ced68d7d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7162cda.tgz","fileCount":248,"unpackedSize":818223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbnOxCRA9TVsSAnZWagAA6iEP/118U/5jkxCudb15ndNS\n464UMMLiGcdLBY/VdJIlWfWDjQjcdBeE11RjUmUZyXmDIbt3mCEGIGly2eo5\neumvMHGyDLa66r8wdX2vg4w+YqAMPpGFv6jNeOF2kbe3VZnVcxvQj7cgPJq4\ncCdLwSY3qyYpsJIiyeb9ouc1Wad4Ue47OvH9E8WCQbPZ97gBvwUW0dijxPdK\ntqN0YAP8DzGpvDOzx/xS+gG2v/XhdEJr6084MdsnLeYSnsWx6ZOEgdL5npGV\nNlkuaVGMzNzgyxGpk4FT6hReNVMDummjy3ENBRS3/+2D+qDrcl7EqsTSvHnA\nulMpsKlSXbiTr6ZvO/9oK+TkZwOEeypP6cn+WpE3wSeygZKg7qHj4sB/c1os\nJf1M4ZUYvrB3UPbgJ6dTpfzUO1J5I87jOWE40MGI1RqOJeREdo9JTrlVT0Pg\nV87NhcUqZIa/MkDAVhVWT/HSRRcUViVG1j7bsjVsmiLrVrd+Ws4SUT0RPewj\nve1Ra2SQQqHLIP6it3oYD1I33MOvwWPQJLb2Lyxpwvh2orZdIVmfENrTXgL+\n4JwsZdClFfCPz0Hybfi/H2S2Y+oNMTBAIoZy8dBwvC6TaskmE9p5G0mWDrwx\nuxtVS8sh9gzpdzy+4tgUoSvpuuLf6gy83RnErCwWxR1xuO4bHjR/rZbIpHi3\nsmGv\r\n=6V04\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyEHCzYnAFkcetU0aocBLk1lKnDDE5v0ZoyonAiiVtAQIhAPqT4Ps9Rcr5ZHpo+4n3qP8pOw0x18G3ycOGVNVkJoq6"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7162cda_1601074096432_0.21309146504626186"},"_hasShrinkwrap":false},"0.0.0-3418f48":{"name":"formio-sfds","version":"0.0.0-3418f48","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"88a2b8017061188c8493604486754ba5b87644d9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3418f48","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-pX24VHGd1DLc2bu4tsqIRllZmKk2+3tVR1/gx4ILoSKrsCHg/5tFRzjLx0CTzoIWg7ve2/xdvMpvlxYFxvhNyw==","shasum":"59d2a4b907c5ad835c739716d5a42b2c0b895c7e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3418f48.tgz","fileCount":248,"unpackedSize":818334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfboP/CRA9TVsSAnZWagAAUfMP/RdXyaJlRFaL4krmogIt\n7hpdjCEk1nkpX3BgfJDEb1IAdZVWPKWEeczuEUM5Hm6FMugYxO72Gd0IzmuI\nUJdQ0K+nNI5TyIgtjtqkgmp0cTKUw8J9vdDAfJVeREKvUlqJ7G2qH8ywqW1Y\niGp6q8mhCVqADEql7gPaM8Zw24Z2H20bHfSUdI8cqAagXwFh0X1P6OkoTUUJ\nu9gedfYrGCOVFwhjMHE9f6rfJqid684rcqfjmvLatDWVDG0BAoVPVmVhsdsa\n1QWFApbSeY3+CZEBfOdFvzfSahoqgbxMBn17Ckpt2E8hvGymP1dxgmGxC3fU\noNJaj8Ff2j6cfjppBWHtWtLDiqjpCDU1E89RFsNm1x+fUNtoueCCi7sBqE2V\nuesXVbQDJSYVvBmMGFQdC1dAZScLtlpGZsUlh6N+9zdwjsuxhIx+IBzA9FYh\nycXMRGcaz0jqGsLwMJppkNIEtTz2vLz0DVaRBOtcUobN+UoFgxMMhh/ssGV7\nBIhS3hbF5QUpCPDR+05PbMr8EYE3/KFQ3jXFZK/4OxskQW6ONSQaWjnCN7P5\nfKEAWXLdi0e9pL3aj6ss4qbzWQFU2dC/v9uaRwEmZjBfF8NeIvtjvQgnAUJH\nDmNlG1mjnT3F9M02ss5+Rmn9h+E24TQ1nb678QYuCtFsKvHFBX2jxtprlMqT\nAZVg\r\n=3Z6x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYYv+AtLxmsqzdsmSqX40GQmK+niucig2fVkNMqBQNRgIhAJYmHrTznpc6fdAQlTdKdE5DrSWXrxH0TgF3GVE5IApj"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3418f48_1601078271288_0.813932713406124"},"_hasShrinkwrap":false},"6.2.1-rc.88217b9":{"name":"formio-sfds","version":"6.2.1-rc.88217b9","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"61b90cdb76ba79d221ca0a92ff3e67e0927dd285","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.2.1-rc.88217b9","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-lXyVc3Mo7D15/tlJSNBKUV0qQEiDjAwpADx8bDdOkOlbKviVDXwvcdSAQ4qf+vXfFD/egkpUB7kLNJVhHMuehw==","shasum":"bffd965d283f7b113cf8c365dab44d9405e0560d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.2.1-rc.88217b9.tgz","fileCount":248,"unpackedSize":818337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfchXMCRA9TVsSAnZWagAAd6wQAJLeFEKMkQuINTAvLHS9\nKgAr804A5toNcOG/fzXjD/1ipFyxF5kY+JGI3a2e7zkyIClEvzynnUIM+YFh\nQpESm+I8snkQPeCZEA2g32GlMMJ4GwYbaMhOqTNcY7gdBMzVKU7JbagPpeb3\n7B1ssMpcQKMHfpgZ4f/lhWZQuleIbsvfO35Gedk62ErO5iBxw5Cl0bt91zQ0\n0npi3jHZkkSC0/8YXLE2Jncq2xCEpwT607IgNm4lQca3CmXC9PgIep8O0RJM\nA9awFlmc7GMLzD2rk+AvJBtUbXiFsAJf+e2YEFW0mU3uTDKjutvDslEoHTS7\nz0pQ24SqEivy3iyeXBOdPJz/6KxA7iMXO20oDTXX161H8uwK20/hv0uyvuVv\nVx3yn3xAozLo0d7z3VbTsZ1ws+EK3JUof4uagzu6CMmOVnWo4BKRSrrY4aXg\nWEglbDBCjc1sFvcAAtPY8Rv2G50wJ++iNADnGfApDuKIDmUHfsiiahqGURuU\no4bQHjzRGEBUnrwNfFvgaGpeQlWZM9iDYKl4QzOCYzsVFYDDlpfM8ehwtiRp\ns/i7ErOxORyfpF+Ut39rpT/wGArAtpmfqihCs5IKchuuvLwOO77MUTyT75AK\npB84iTOc3gH3IwRClAN9V15pls3rJ7kOJFrQFgHDHsYVNLqKQ1rnLk+weUOX\nQN8U\r\n=dHly\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG18ogfB82w4+NKx+lEIIKQfV4KHq2zljsDUZTrfZlUyAiEAl773i3DqXabKa+6GJAJPOfe5WaY+XCE/pAFYmhGZ4ww="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.2.1-rc.88217b9_1601312204037_0.3940976334476789"},"_hasShrinkwrap":false},"6.2.1":{"name":"formio-sfds","version":"6.2.1","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"gitHead":"9965ebd5d0f051d5669d2c77f06f4da2c7de91a8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.2.1","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-/2R8MFvDJZtJZFjs3Ez8hFzK5tPXb5HWzNXgAVnexFR/YibzSO1XuzjIzZD49rKOcE9eYOuz6DDaNd79CaD6qA==","shasum":"7b743e48646f06f4f52e08d00e52b20fb094aa2c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.2.1.tgz","fileCount":248,"unpackedSize":818326,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfchaUCRA9TVsSAnZWagAAm8kP/jMTXdr/VGVU2ZJYTzcB\nr2+u3la9USbXCm1jji2pQ2F/5qdGZvE4OTf5vHjPtK7K/R+3GfH2GpQqFbfn\n/zBVyVSw4lLOUoSTQMDnu/HB1mzOV3cjK3lZOS06tz6jiwG34Vn9mkGbqWy8\nbsSl+goHUI2FRW3RDobz0Ti9eiS2tvyjLozUiRPjlcvV8J5jOhxe2loZ9xp0\nm2zD7aeEkaB5cJKtNhtjM1OaxnujNmxCFJgqGqne4pl1dhDmwHTKmxH6+nTe\nWU4ISVw9WJPF794AQP+KD5eXgsgC5+Ap8faCcwIrJXqE+6Bit3vRTH1+Azil\nUfzVD7tdVf5Js29OZV0jrDoXZyd9P0A8/HEPBjOyJzFWiWf0O9DJrIDWXJir\nF3tE+EzD8m+v5S7rwsReCKaQ3e6j0Iqxm6gB3R49VA2iYe/MofP58nlFU/CS\nZ6pfDC+6Aq0Dya7ghaiVEfOuGC+YE+B8UwukWIMEZes/jRruc0COx8h9KvC7\nNHFBjZl/PCEtk0dUHu0YkZD+m9ZTl1s7aqphCxYoHKlPTVej9CCf6HZM0TaX\n07L0seGKjoqpnMInMMOEiXwsu9KnNIERjmlW1cr/haSwwOHj9GtsoNJt9H8t\nHDfBlcBk1AoPmo2rEDcIgGZ5TwFzWN6cypbccF2pfKyvc/QhAtzjzyGciWif\nH13+\r\n=hS+N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCHz7mpEBd34/BIR/uhBo408/V5PGDiRaRfl9LNUs4qWACIQDwAjlGco6j4sOIAzO+ocKPskBLJjylRJ/pvkbLFIGa4w=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.2.1_1601312403883_0.8862811578760192"},"_hasShrinkwrap":false},"0.0.0-a260745":{"name":"formio-sfds","version":"0.0.0-a260745","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"64df1e1e374cc927eb5d8ff9857cfedabbea08dd","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a260745","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-gNTbz2WIYN3U9DhcoyyLdZxwvNKCMng7mmV2UUFU/EN0z77kpCQHgfn/XC//rQILIu0sFjccCj/ivcCnqAd0RQ==","shasum":"f6a56bdeed50bf1a35b9cf482d0690d7ab93c94a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a260745.tgz","fileCount":248,"unpackedSize":818842,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfch5sCRA9TVsSAnZWagAAtnsP/R6Hlca83jvnKtxSwp8H\nCp3WG/YP32D0ZpuHxBJn8Fv2zGytBWga85kQB6ot796eGLdGUV24RWM2UUXn\nAAdISX073ESw0+ArbB+k88DDt97yycQAcic2aY5MQeN2m5YDlNiLhKUrnwI/\nhJ3SR5gQpE9+cw7rgqXAVvxonxl9adXGPUudNC1+E/Ygch8pYAMBDxZYeIMe\nEliEBOquTfFYpckibuizIRNjNB7Q+OXVxEyNbs2kuVz+ZSjIfK8rTjBxjSDU\nTmCT0Yn90xtjqSbFWB0IXQ7jN48KRUmm43wWFH9LdrLxWcYsfTANIkZCtxZv\nzhIXA0gId0QGGkq0ql3M02CEHgu4azeBs9Yz4oLGmCU5oZBETq+GJZswIKoQ\nTejnNXar9ctYR/qHBe23hBZk9R+CW1EMOMRo5/zL9G1rPGe84G1oCDtzeeq+\nGNBSIqUL46XzcUQZSRQpnd2KNNzS+IzQnPpP+ybVgoLlgrzgUFA7oO39Jq06\n9KHAXDSVNED65aMJe5BMlMyxxbfXQ2tWmq0qAdJs/nVubXMvmfRcrUbTMj0z\nej+caw0yDeHV8WnBg7cHEfkMmBVU+eZzhetiD+fRDY2nRBWyVT/Zwby37FOK\nV3/nDv3JmmDhPaOjyN5To0MfJa+pH6vmQZq59v73KOPh6eoisD81JPO4reLl\nKzNA\r\n=HaXK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDn1jZL0vwjLPsBjMvsbEKSYNXNH4XE+UFo0theyVV9ywIgVQyQUtxueZCSlm6jhRq7YThnKAuEo6KNN7RGwOvo3XI="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a260745_1601314411594_0.645121724192016"},"_hasShrinkwrap":false},"0.0.0-4dfc328":{"name":"formio-sfds","version":"0.0.0-4dfc328","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"c7097ca5675e2d87fa36aa6462bf639fe3acbe75","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4dfc328","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-q4I8wVfZKgEb5NPkewJWwiE4XxDXj5fMLBRlddquL6iPl52lIyay2ZHfcsu1d7M3/nag6DkP6eNJgY0V65BrFg==","shasum":"1c22e643c028bf738b971f91dcaa26506883fd1b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4dfc328.tgz","fileCount":248,"unpackedSize":818842,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfch8DCRA9TVsSAnZWagAAetQP/36ZVSDytix054VjtIys\nvqzD9/npvpYddB3Or8shEBiuVC1RV7rk/PfDvIJDNdvtNhToPlMNN1YB5CiT\ngT57PcPZkYTzSrYkO4lVUfayDSrp4BSm1Z47W13yFnpOl9ftmoe2M+CZ5fs9\nXCV+YI3OVyW0tsDy7cJ0Ls98fbdI5SsgMDoNIKIp3ytxXdrGE35uIFvjEHUi\nCIFoodjr3rbDnhP5DLf3rvhcH1LIsM+dP7cFRxnj1nH53GitB4gPKDiBWrfC\naEfAAbPqWF+V8apMM2UaeLoGqnB9Y30NqwCx2GOd/LdIUYS9PxqLsZhFi8yI\nfCUQ09pbxoqjDpC9s62jBXtyijUX+ty2d172Wu6YdnBGalPHm6l/NsKK74Em\n8D5KA8/4d54mKIEnL/Wqecn5NNf8voRPjsOwT8LRRP7YRXeMijXeWFBg/cgi\nM9MO+EeDYJmRxTE44iUfcIGF9N0w5Uwzu2RbQ39AWkXFD6GiY4z78iRzX91O\nMO3z3E6jb8Fwdr31Tc1ihduBh84udp+MW38p2nvzCluewcSSbx7y8E8m9A5O\n/tmyFkvG67ew/tB6amSjGxVL3Tu/oYUnc3+4Yf/MrILN8YFuJ6H5pc+i55pD\nt24vb6GOZY9EtYTqZ23z8o7ltbFWbyU7Nl2Ib054xwbmJMddRcepu+chyfRL\nPSAW\r\n=X6a1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICMzx9ac4M3M5lg+ekMZ7MsQtIaa6f4RmTEMUlPiDOowAiAcgWkUo47zNV1NyIviUV/1/Mj3BQGoRfeXC+j/vowYGw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4dfc328_1601314563140_0.3626775560687203"},"_hasShrinkwrap":false},"0.0.0-d1f037e":{"name":"formio-sfds","version":"0.0.0-d1f037e","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"da12fbf046de81354b681ee275bb656eb42d83ae","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d1f037e","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-PQxvbomMXul9HC/9YhV6BSPDzbozfvoMPGs8AQBGZW8P9EqPeckW8AcSaSnMEmmH3W62FZRVNWUENElBqfC0RA==","shasum":"108d15c49850dc08145ccd60b451a902c18328d7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d1f037e.tgz","fileCount":248,"unpackedSize":820302,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfc4JECRA9TVsSAnZWagAAfVkP/0TyOAseqb7Ld7MNVew+\n5G053UB6AgzHKKZcIKJw38wjlVIwG9frub1XdkBg0IJ/BPafcqlzRNMK3RCr\nkRb/ksZKhTxoMitYH/IX4IHUkSP8VEJkKcnF++fzZ1kluRRQY1sU0+2tg7yZ\nczpESRypYSoXydH/Ric09AnVh98ZFbq9ZwSgwqBrYVeeE3S/lDE7hw4juqga\nLHEIrTWWWhRlV4cMh+ykkRbNE61BsqCeg7Rt10rlJbjQIpB1dW0gg8QvUp23\nMxgSaKJQ1FypecV7wYzwWExHQVTpzEZdFufDia38ioVPrRdjt6pVo6YdrABh\nSJLgG0Xjs89tsbh1ssLaqcAINMiJQ9dL9f/A4l1n/hjb0bDbhRqVCEOB9tl1\nEWzCSqFDg1iffpSAgqAPn//Jr69U3LhyEMxdjnCXEjnq/l2qh2EexD4sczvo\nqzbLPc8JBaMBNNdmAJqElrXlqe3EQozRE9O+X6G9NbzTfWi7lmxo34ce9t7Q\no1ruicumCHwrscFWgeOVyr2jRTSeIrX++GYBcZ+pXjHA+VoDh2q2/6kOIqju\nXVPdVtWXbXevNErQl6bqzinZRBYV19Kr/UK4bNNwjSwK5SfJ8xmJKlzsWgL1\nzGdpqnIIHBcFNFrvtTRbl1xsarVP96gFIFoTnawNfo2VK0c+3IEehXV9a4T+\nQbpz\r\n=t2fB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE3Xfa0EDik0diW1Yv1qzUW+wIyJ3zYlTy1vvx/ZSBR7AiEArRb6SpuXk1kzUkeF2ro9t4G8Q2Bintu+Cbkc4OMU7bg="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d1f037e_1601405507270_0.7719906729781079"},"_hasShrinkwrap":false},"0.0.0-3338037":{"name":"formio-sfds","version":"0.0.0-3338037","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"9c0416758fac5849f750d2df6ba3ad00a598978c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3338037","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-et5vs5HieYpj/92K+MDF9ekr68Hu1CNbElKDMP52vmTpoOcRNWZnlm2H5tDg0hOwMNMTNeRfFQTOwD+87ulg7g==","shasum":"8b002f9b5f4bc1be5effe5570cab062a18bd47f4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3338037.tgz","fileCount":248,"unpackedSize":820620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfc4gXCRA9TVsSAnZWagAAYhoP/i4NCD5Y6uPRiDmH9J3o\nPPgPsCLkzcJWoXeFi0Btu7xd1oMn/r8isT2GTerM6lAEIfXDRjLyeJoaQIrz\nUgM3UqlYTgyFFw876daPnT8HYUz5Ks1p2jplYZCE9TYSvLpw0F/p8r1mFbNf\nhva3wPxCOiX3J9wqqpgSb/i+fpXvAEvVNmZzO92prQt73SmIWbCW2GMs38F7\nBd62Hc+RWk37RTdsKfpcmKDEJOBRQgRDowHZz7yFj7WNBB/k3GLNS5LgyJoq\nuUPIxHxRasKq+qb/bqK6cZEHvdBTyel+xh72wb09GJA3IWu3Sl4WnJg9xT4r\nBkFhXvncY3gLpyoXLytpqGNz/SOnOxEU8jbe4hTgzf9ADzmljeLsXXqC+D31\nBcLBd2CGMYcx1BxxyaJ/VncdHwIlMdQxmAkxdf0z06NRllgDQ7hBnWFpnv9A\nG/PAvY7ZORF1xRtL/nY1TYaqt/yGu2m3hYYxDm+8mjhzRQ2kb5wbDAST3Yr/\n0ISm7DUN08//0n08+Vq7/6VZ+bhpXl/rx2u4cP+rgVHgvcyK8SSS7EgXAWfA\n4SjkYCAPMwlSfGOyI2j4NSZY0+UqiFONAOOaonTDpk7Zogkfir6CNkPa+KWi\nmTqDavWAz9iusS76MRXZO9pK6aj7YtXHkA5RKxzz9mHfOTFfbQnTG13kgRJC\nlaRh\r\n=COCt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPmPhm+9bTxxr8MwL4l9m+vizThGbJ8r5bu1iHaXd1DwIhANI788g7duosCoC2VLB+K87rCnZowmrSOhVrgM16dUiX"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3338037_1601406999300_0.25149115321162707"},"_hasShrinkwrap":false},"0.0.0-529bd23":{"name":"formio-sfds","version":"0.0.0-529bd23","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","vdo":"^4.2.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-react-jsx":"^7.10.4","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"0a45fc61fa7ae7bc21b260996848d52f13c9448e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-529bd23","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-yx6D9lAkO645MUmVQ1eUkeCSc2GkiDnNjRAXdarG70XjjI0+SZY2MYJDQ2bVTFvPrWQQZ0udmXM+G6cLEP+yLA==","shasum":"fbe2530c4d1fdb7b85206e61383532b5b4ea2b6e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-529bd23.tgz","fileCount":250,"unpackedSize":835702,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfc53CCRA9TVsSAnZWagAAq4wP/jUh0Ou8d2zvTO57VIVh\nfpbwJEDJarGys0B8nf60mjEZV5OEOszP06nNi4HwxeRB7y7u26uQ2M+LR3kI\nzzAWN/b8FpvsputAUedMIiHrnP4C4S0Xt5QV+aKk7V+sjdpHj+OMCphHVZds\nA5zF0g50o122r4n5xbHuSB5apTcj8VDDoE1AtthG/HjHKyP0R89yjySB9CbQ\nAeB95F8tcnEm5In9/zIcEJFBYJnYk14JNhfqD3fHMvlGHaZzGOOUY6GpL/5v\nDfoDtQgrtz/NpbXPrDc//Hn/0GurLqW9IDSQJqRJxyRXhxaMGXxtl2xcAfya\nFVQosmbpezVL6SrrPZR8nQOkgJMIwuRbukazRtPh7buSMfJKPKWs39FFCNdH\nSpj8Kb30scQ6O15Tk62WzZIl4J/T+H8lyRVFUQxDTjB9q5O0xOlyI6MNuk79\nJAoXUR9Ou92qOIyQJHJC1d+8QpAphmXbmBsxuoE1stv6hFEqtNCkEdf7JtFj\ny3CKtRT6rwThh9KaDRm1UzkCGNraaY6GnYuh2ZwdanJvaE1RtqSjQqjYITN+\nLBAjnFOVssPse4tMlYyb2DkkwnvBKWEWu8HwBKaXjo3ShwPQDWOiiDvLNWEq\nTXFoAv6EDHRBm3FIZkYHDzGk7jqFTKZeDA+05RnKM6+o4FjnGzZYlTMldM5S\nXzJ3\r\n=prck\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDCZBKOFzhE/hPoMBvDFVHt/DVDvIhZhRrjFe5e7+iMTAiAzjENnABL4WtpBEwyd91WAwVxvA3Yujx76SwmckNTlHA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-529bd23_1601412546027_0.5821336802629424"},"_hasShrinkwrap":false},"0.0.0-3c74ec1":{"name":"formio-sfds","version":"0.0.0-3c74ec1","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","vdo":"^4.2.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-react-jsx":"^7.10.4","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"0055f9cd6790ce3dce9efbd78564efd341236f96","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3c74ec1","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-q3CudjZKhFIuiVFuchBoduSlCSJnMfUR8fUD/ePKUu/czHoG5npDpzQla+mgS/ePWnfFPDJTXQYKjNjgLXzXwA==","shasum":"7e258fd25e2d751e5e4a488f4a34f50ee5ac38af","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3c74ec1.tgz","fileCount":250,"unpackedSize":835702,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfc5/YCRA9TVsSAnZWagAAHIUP/RCOT4ic8V8hFp9HKxGy\n07JaZcU9MIyboxyZVBQ8VxizWKh5Ue+LOj8ire3bCpEXGx0uFjm451PO9JrJ\n6wIELNPwT1S7xSks56d7knuafelPYqJ6qFdXEEXqUod/sihYBvU/YES2/tuX\ns88hwW1hPbplerTprP5erWW+kRTEtsJszTenj3BRf4MWaKO0g6W2D01RTGft\nPKdou9HDV0e/T0/UEVyu4B7bVl/QMc8Pol+QTy6nVsnM7g0mDMQewqUez2lE\nEBuf0kMkDjbIxKR+wt280YWdjv4U5PTfGMuoVlt98eqtT2Tk003wuw53v/sJ\nB9yBhFHMxHqBGsj2TbMC7GVZxB6OorqyzM+LT3ML3S/hZPXNnTp1S+C2ggF3\nSvVe+on8WrYPdTTS5H9ytMs9Fwt8WXO5aXuIUVwMCzKlbs53qzTDrzDbXNou\nKz3+iLd1fM7g+W5p2YLZ+V5OdTPFEZlJ4BYB2eZzOGi0p3KbsUs+mLfN+S/h\n+CdExaAIcLVupNJzmhjEvjJe8671e3Be1nIkjVGqgseIGvNVK/XN+Em8Y4Gm\nRomKHiMNcZKZOJggJKUADwI5RrvqYTYzK57Ka+obKhA2TjN4N2cdfq6EAB+d\nj5IOt+sV7dB7XpiNWrLLftoHCtAAcZbOAkXUg9NwgiH+5g5mhKqNa53Kekav\nRgxc\r\n=Ge4j\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiDfVOARerpDB7/Mmn8ld2I5mKEiO+fuZ2nXfI3uq6eQIhALBCEPwvS33ktZYGSc3vDB7jSrmIkeYm/UfXfq8DPJBQ"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3c74ec1_1601413079598_0.9346447665859441"},"_hasShrinkwrap":false},"0.0.0-c3686b1":{"name":"formio-sfds","version":"0.0.0-c3686b1","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","vdo":"^4.2.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-react-jsx":"^7.10.4","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","eslint-config-standard":"^14.1.1","eslint-config-standard-jsx":"^8.1.0","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-react":"^7.21.2","eslint-plugin-standard":"^4.0.1","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"4f30288b7bf1e587eaa4eda6bf863265377e6f62","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c3686b1","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-QR0SIvajeKpNgTABAWIM6n/qe/RQgdPBjHDUtWruG3MKTGDv5JdkaqxSK9SBlqyFMqqcL2udYjPBGXkkYsDCmg==","shasum":"4565c9b3fef84662a78db2c9be5235ea6f649b1c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c3686b1.tgz","fileCount":251,"unpackedSize":833068,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdMXjCRA9TVsSAnZWagAAMeoP/3OVBxL/ryG8GOHZGyy8\n1FfEVz53OIqbBkBbn5qRG7SJu+esWe3nstFRP0u2OkQUneDpGXKpNKfs+l6V\n0XhIh3Yvr9RBXTHeR2QS3Ycak36KECn9qHRDJpi8w9tSqpvKr6dLpO+dn+sU\njPOWkaL9dY3U7hnBQlifgo5V1FtsMTVKEyXIYyzOfPGjbDprgJHylHYtveO8\n18XwptOUwj1UmH3dimxoRxxW6pOFWRPHYsEhYpA7y7FlBoD4QaFXr4zsIep8\nUXuFMfIalypE1/MAcfYhoqIXfALtIYr9aSAIHvI7jf3IiPBeFPkuNQlKoVN0\n2voYYgTbkXEkYa224NLQQOoE7A1kvDcVsxeATdeShgenNKEqwWDYvobzb6w6\nBhTDQ66XU7GkvB6Q8xKN0tksJXu5OiDhAXNtATTAZMYmea0YXuZpxr4JAxHW\nWoOUNDhdQ+CE8w6E2NEJpLwiAlz8BQNJEJYOLoGncs2DyokHBXAXinRCQxPx\nrTXnn/1hWejrugFAHpJVKvY43WC9Cf4dviOY+GDn2wMN+6nsPm84WucEwOlP\nRGKmjO/uuKKtLTqCJQF6SoXeLutpXDPtXZiA3HeFyjWzEZPLoUR9zkKx3sYq\ngqSSYnw7XejIykF4FzN3JTKkdeYNfuJ+aF9TI3yYZQ9tiVJ6E2tAblfy9S/P\nEo8V\r\n=oIPs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDbF77U68dq3rWk3bpBwK8j5Rnp4zz9YyXPcLlLkX+J9AiAsk4Uza+m004kUIQyWyJAjS7UOBBXaJCyJBc+hbrPuUA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c3686b1_1601488354470_0.39708630964610503"},"_hasShrinkwrap":false},"0.0.0-b14b5ae":{"name":"formio-sfds","version":"0.0.0-b14b5ae","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"3c8df292b20272ab37656a27135523d9ad8210bc","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b14b5ae","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-a1XrLMA1LlQOXABSrLZt4L8tB4nTGrExDf3ZgTOncHycCFFmX4v/2DDfKU0ArTO1HlWyE2xKSAWHn7wl/6+xrA==","shasum":"25e7ec499aa8760c09962ea39e55e16095d5e6ec","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b14b5ae.tgz","fileCount":248,"unpackedSize":820159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdN4ZCRA9TVsSAnZWagAAiDcP/A+nuM0ZaYQDh0d32N1v\nZcFggCrumR9BzAgF0DoMx9v+hck0pcjMKXaKT6CKkuDoZJJh5dguzjKjzPkK\ndZbXCV0eemxa7zw/jd+pPMisDo4h/JVRt1MX66jMhbH0E/n6GIvHrKkdW24c\n7VIh5i06VMCgQ2K/wpw4MfOvjjLE6zNnEJm+O0kHZOHcbUyGK7ugLDwtzJ/i\nd1tHZARSPA+Fh+DEfhe7PNqlGWQFuuinfUtgMyRAl6WQLR5leJ8axJvj6IR3\nV+ssjv/eNY7NJoeIj6oyGZRJNIA+LUZDBAlTJRtLECEeQ1t8F5LKyF0rq/zv\n91WjXO8DAmOEE2KSLnyb7+A7MKEAvXMct23OAERL0hWGYjW1OnULGmQEdfvV\nnyYydbC6LN3tchgZG5VYCR+voZfb7X+Kwo7Z08Ap+l/woqn6Nz9zuI5LJF7n\nB8lawNEZRhFdk9T98Ip1oLqUaDxSjkuf9peK3zfg1vANZLO6HI1DkrLkSmSY\nOXPg+k2kyKyGAHP3cH+qFz0oHHlBkmc4VtrQ+Du7ewvze/tiLHLO1P7vkWG1\ndlNrUdaXfdNHGyV5yaLpqe7fc/CY46SCKFLwgAEv8kqQfi+dxtBPRiR1ccWc\n6wmpnQ0Zplqr8dgjsPSjlKQWZbXX63yTx9f8GdLcmFFzwk0hhF7BckilhQje\nmqYx\r\n=sT/8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMgvBhELAqzb/kVDrUAQ74IcZ5WSdFJTtDN4mRxm6SKQIhALenjD3NwA+KF11UfmB080PezgrA1K0yc35EIDkYLtE8"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b14b5ae_1601494552883_0.3854176548646311"},"_hasShrinkwrap":false},"6.3.0-rc.e1971d0":{"name":"formio-sfds","version":"6.3.0-rc.e1971d0","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"44351e16a66ac8cd72ff087b8dd79cbafdb6ea2c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.3.0-rc.e1971d0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-2vPcjP00H02LEBGvWuV98uqWWXlDCIpesLTmRPraX0t1Z+bAWIp0Ge16ral5F+ehM2TSOYulR+syM1abaLBfbQ==","shasum":"8c2f32277fccd68760142d3acefb196915189f82","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.3.0-rc.e1971d0.tgz","fileCount":248,"unpackedSize":818337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdN69CRA9TVsSAnZWagAAE2YP/iDJo3o6yxQzf00fRI5I\nLp+bLftkHlk4rbZqYbw3x+k7snCMC+XDMZtY+WyAHFanuNHUhV7LkRn5vIHG\n9aAYL95qMyUJmDNVrTi0/UvqQIiL0UlLl6qfQCySRg7YNVXeJIhBfT+9Co/R\n6F8roi51u2qeeAVEMJhW+9BdxkdXLYjwDqjKpPzZjAqar8FGIGxYJruvW1rg\npidR1z3E/eXlU21b70KyV3AKB78TandaPTqvpgr3IyTeplZLYJ+MINXPNbso\n3Bg+l0sRDtkwPWLxtQoKVSr7NhaHNahDcDe3l/VI3XORBwsqY8rg2XfI91eu\nDMrCqYKqH2nZ7dyCnekBm+vaRbOdLrCjZ7dWFsp+Dsisgc8Qek8TZ+myg40j\niivYippBfxL2KE/THRsqCgEOYCJf/vdsRIcYL2Ifsc0PAc5PqbpPsKhEpM5u\ndImeT4W6Tlt8WWj084IaxRwFcepnpJPiY1i3Y4NpEBmN0Y9b0GuO9fFSDKqO\nwZy38Vd7t6U6tZalpk4RzJ5lv8jJ2Dnuez4NMbJ1LeNcb0EnvUkQ3Bmrk4GC\nmHCgZ1sdAUl8eQsrxvViT5roN14HXxNJxp6GI3p1uQVwy9K8l01X6BABNG4o\nSYTCcrldZWHqA6DoOfwvDwMTQaNdA2x7CrFsXz4OC2QWmWCma6eLZQcWYJ7x\n470d\r\n=bY/8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZdc7l3IJQUcLQ4/Zflr+cbqv4/RxcI2d30I9/jqjA7wIgPRI8ymDaSucbzsn9we5GQBLc12LE8rRCanWXofnEnNo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.3.0-rc.e1971d0_1601494716533_0.34251740277836973"},"_hasShrinkwrap":false},"0.0.0-8e8efaa":{"name":"formio-sfds","version":"0.0.0-8e8efaa","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"331fea4b43f948dcdbe040aeaf433c72d56f884a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8e8efaa","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ab0SICFHr3wm/2Fo9nzPwjFDQdKE2ryJ8qPeU8FvKjVCg4HPe21fslPOt8ne7J2K4+p+et4yma45eC65nkGLGw==","shasum":"0abcdf3ec97d9a9edb71e59206e32ad81075b399","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8e8efaa.tgz","fileCount":248,"unpackedSize":820159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdN84CRA9TVsSAnZWagAAvuIP/0DZQZN5lhiM2akEAj4B\nhEHjHX1wNsooa9q401Nw2oVh27NmtWXMyY1vwC5QFjlC6fycMGtjt7v5d4no\nKx5TVdgM0LX62ulfkWy/lvNHH4WCFEAZevwaUero4/QslGjSXWalDkgqm293\n63e+suQs93AUShhbbTs3XPTquOXrj85WKZZ3VdOZ+pvuczHg0j2Idvy+AP6h\nlvbaDkMWGldG5i6/gcHEzz+OgC8B6CXMKGgGukVmb/CEV2sFh+dUhvhODv3q\nRNbg6Bj1c2rX886tScbXh3nMGLrIa0rdTJEjjX9zJa67dfemjGsp5+OCTXUE\nDt3ztd7b7sUwBvvLxfbRw2jLozMtzUTHuwecKzJuxrTdeZ9h3D7Si3bS64g3\nmXU+NSxWHI0M/lTLV0OBwjDac47SNlU8KubytTjCcnimW+StKM7jHl98ZifL\nh8HFF86Ce8QWtToMNa+WV+Xo7pUnpnZ+I4oANL+tR8FPJmmtV3Pq3KAWchQE\n9Cvsik7vAwVHflQHGVnP6e6AQfNcCYVBZj3bLjNM3IH6qiJKKXpCrbWnr3pD\nJwclZNO+CoXsY9eDy9M4SFS9ih2/yJOVKd8FSyBC3u3vB+gnDDITmmbFtnJO\nfKsp3P3DERPgCKBv/dPV1Gbo9AOB62BmFbj9BxT76ZkcToxVyLi1RHVYaJsM\n9S/2\r\n=ax5k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAOz4VbB+FFBdTb7rl26mgBofbA+/hZ33BlCGOsnbul6AiBT8v8pouUuC4S/9gPmAQzc5KBQBvvCwscSrQXDa8i/sA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8e8efaa_1601494840247_0.5409189996651178"},"_hasShrinkwrap":false},"0.0.0-ba71a56":{"name":"formio-sfds","version":"0.0.0-ba71a56","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"61d8c8e048d56e98180b991ceff559727e8340cc","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ba71a56","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-KpduZjKrF4rVAQoLmFIYXnkBQa3X8Pq82cVcVqE7ebdqV4cGRRiAfx5cGDOMvWOKo7r+NZhjqyhOh3l/HAIAmg==","shasum":"47189b0d6127a21292715f8b6ac2d38e39aef2dc","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ba71a56.tgz","fileCount":248,"unpackedSize":818372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdOJpCRA9TVsSAnZWagAAXEUP/iaYaf4AvuR+lmGcm9OY\ngzPn7pKu7p09htx3FTkHRAon4Pwwvz97LU86s+yfPocA2jIomxNPd6UwCXM/\nREKeg+mOqUo1nJkBkz6HS6qzPRgRXOGOzASH6/ueY+Vu3PwiPAE+qz67wABU\nOXrrWCX5hvTuMsiPyewCRRlSYR0rwO4buM1lpdFf7b0HJpgcUFgUERNf14X9\nPxUQy44i+eLa4HKcYIbYzrLYKGAczMAUJ1XsaQ+sfPazluw89s+b+pkMyHqA\nrQsg6leB04fe35KbXisnA9TmViQad//6lcMamSo3T27yBN+j/sOFlv3PzwE3\n92xYe3U/3Bbc5Hx1MNpU69BBYauQ76+gYYxO3gypy7S8hRu48NV19xYYdEiS\nl4qDlcUo7Qop39O8vmLyz1lSAXySSHMaOga3XhdgGbJd4ZMw394QWGx8HA3N\nm7S3ZwsRJ/50e/ammAKPc8d6WbBKw7fXkBL7GbW4y7F7ySyidcHlDIuqvTEp\n2o2JXpmsbtryDt5alodZffDtlvfmtvE228tJ8neQIUSZg1HrOkv08meSzy1Z\n/VhzoUeC/SHaBIXnoNlOGZX/2+M07cqvDyAWqQ0tGWVObJ4XOWuxctKAenXM\nAZlVwa8eYHH82WLmP5+oMnnO24h3kRxZdBh/FYcs/nwG6oUUb+DZE4wSjOfR\njk3g\r\n=bHX6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJ8BAun83XL0B+gz1JDr5NsQRMn2RzEGR+s6SNjNA17gIhAPBSdsoeaS0RF98NULAPcHs4GDF2031ojhkvfUnjV0qA"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ba71a56_1601495656602_0.05622647450053431"},"_hasShrinkwrap":false},"0.0.0-ce098d6":{"name":"formio-sfds","version":"0.0.0-ce098d6","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"55dcc8b8714a02eba6da8744889a64ac3e355f5c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ce098d6","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-RCzyrcth2OiOkBvc6WU90KRsN9xXUMTSqXV9iHKU/aG9mUZ7FfUfKJSDLqbjShFYYYsA5YKWWO99K1e99xLvCA==","shasum":"95ae1da2f8c8800f88cc7ff7c5ede9baf27202d3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ce098d6.tgz","fileCount":248,"unpackedSize":818372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdONlCRA9TVsSAnZWagAA0n8P/0xAuyqsP9gA7ZejxuZf\nD2G0s/Vx9Zjeqm9RA6cyKlySQXK1q1HoY9GOyzKfSYqD4V3glzn1DJPg6Tif\npy3ikcsei3n8f/6HcEaC4TOC41HMnvChV02a/69zYqLwmqZaDjTaPYchAhp5\ngKKld4M6tXEFCLOtSAStLJyr+Kg6aQ+5SWA6F/8auiIOjPGLyrhrlOp1M28m\n9KeBe5k7St4a9jxWVQIXpGjyhqfRQarxgHunyXQDICS0hR4445KD2wVdFrnT\n2IjddMA5+HBnlG0Nx2btRNlp4rnHAYJcfSPUO5vIcWbcWApeISu5gAPz1Y/E\nVn1Jq2akwvfbTvM39qGYz3BvgBrdorKP5FQkT79UGGqFf1zQPuLYWIjkxypR\n/AsDsl8THOw/2Zn52W/yIND9V/WySvarwccuTQCAGscbjAVsktDjW7CGn32A\nkhnTYuDe165yayut4mMua8TNCA37KtXmp646uUIu0slWdB13m4+4Dp1e8pGy\nbLQxZGrnLH9c4H16sf6ufGF9HOQkkdClWfw+rVi3qQUpbgaDoy90/IiixQy7\npBCUpaAqX3aI8Gl0TzMsTHiL/uOd5uSRf6BY8yOlNoGPW18hpgS/VBLktUFM\nFnKlIxL2+jYlTIJf07T/yMe5fmgm21cg3yVsm99UWf3mytG6/8Mso/1A5/rq\nagq3\r\n=zUdT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGIFBUyMhPeVLOYio427yzQ+RGcHj+RxfNWYxZJ25yb0AiEAldjsRdSEXmCf0BE+uk7G9thCRtmFjBxfGGbQTAazs68="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ce098d6_1601495908495_0.33546321985483063"},"_hasShrinkwrap":false},"6.3.0-rc.dcd0092":{"name":"formio-sfds","version":"6.3.0-rc.dcd0092","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"10c337f5e8ae10b3e1ee02a2e0bd3178cd40a095","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.3.0-rc.dcd0092","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-zXDPbL03+/svB4bBoiOyx1Q0faMfQxNlL8QzYK9MpMgzBnYydyRDRuHResI3wG9ujpaR4OFXtn4CA/oNZSmd6w==","shasum":"f2e4e2c8961764cb9fd80a9482b1acd556a0f4d2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.3.0-rc.dcd0092.tgz","fileCount":248,"unpackedSize":818375,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdOPlCRA9TVsSAnZWagAAIFwP/26arUkJRzEnaBszQSi3\n8UdH1ssDKP9mmH/qQiwMYoI6/JQg5fXMxYqiU42x1SVY3BNlBRBNXInRj6LN\nA6ESw+xjXLehJgRhDdkBF4GucjE3Q/xpNKjYNUsok+dCWuxG3s4ZXMH3HjnQ\nfnsxj1nO+MwUbADiqqp48wvipMiFfSsmEXujE32rzUm4a3hx76qAL5nTc9Eq\nJgtsjyVDGy887TkkUHGksZlXgmkINS+sfmbONYXo9B/aPrbkG43fxEAzgOph\nQQQ4+GtkNG4Mk/zRW65OuoP1aaW+6MRzUrLnfYlxUFQ1d2Rsym0blRI3xqb+\nU1nNAeP3GQvWyDOBwPWQbfo70RG+/i4y3cpG8YWysxxPQPZcy9mqlLyZINm4\nt05s3HzzgmW72/LrvrUYPmJ4Fi9JZubwC8b0YCk/BuQfZzwMMbPKMQaflBj4\nXHo+606ns7SuE4tZa/Ba6ixfRGjw7c7+FiYS/ULAgGv8u2QOyIhsbhnZFmYA\nx35RDyqiaX/D+VoFIMxUf9QzK7+VFwjfBoeuE4miDP35mLqq23PC2MPsH9YE\nrJct08hbXOxVnQ8A9qG8CnSC4/wc7rsLbjEkS+oma4iF6rUI9VcMBZT2A8Ru\nIk9umR5hnSymCDiimOv3vRFqeu4YhHG6xpw4YTmeAUzfENVKfi4dnHH6xIJX\nMBny\r\n=g/kP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH9aNKioRWYrnPEqvjOJ15dppQvPCzSM7oTGCowXlkuuAiEA4ssxYFIErACxRkgLMTN8hRVEHDus1yvlHIkfYwCkgk8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.3.0-rc.dcd0092_1601496036447_0.8090834420995872"},"_hasShrinkwrap":false},"0.0.0-46a8f63":{"name":"formio-sfds","version":"0.0.0-46a8f63","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"fb1363f98508630dd5d2616a47bf28ecda75ae7f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-46a8f63","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-7dgJdHviVDSdULcZQ07RKCI/PHRVsBCmpL2nMs9iN3LBfluzklr5aTGXekz/3vBXmQaOJx/OUcm5jlYGGTqSAA==","shasum":"cea71406f63734404c78c287c20d6fbb3f000925","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-46a8f63.tgz","fileCount":248,"unpackedSize":820159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdORXCRA9TVsSAnZWagAAVccP/RhlBgt8r2NJJ14t49aY\n0V2nI2WH19MowqMFF8V4wkW8a6scesgvtNuTiOvpv0dbPiCjW96SPcD31nOF\n+SyV5oGVi3DtYUPgMG3QMwDkOKenj+ZvD0u0If4DtyprcU5v9PcKygojQaoy\nkPlHjZFMmg0FKU3MpvB+1L6Q1XRGUjEzoFNujkz+cbkLjxSlzh8hkEtI63rU\nGdBQsVFQeGZ2GlXmJ6B9F/GHhU0L0T8fb5n5OzV5KW7vLKtAgaMQPciYJS1S\nLd1Gg8zNtwLf4XPI+yy6r/mWWD5zvXFEohZ/6H6mSkxmlWTdfg2TKtrIQnVr\nGJ7eA0SeWqM/Y07aPdpcToyPv2k/PthUtvAeLiR/+qRIB7dDeLyWdBjvrkRt\ndT/yHABpdLGdcULh9tRjPUP1tDVwd8H7JA1oLK4EdqmR3solYcPs/MQxTvyb\nZFHygtjlXHJUSPQoYd7dPOSnaFiFZzxehU4NFn13pcJhm1o9qefTa7dJXTV3\n+OBd78WCVb12tSWeYSAf13T6vib8EXr35BPUeNtqfaJx9W9FqdBtiz5bJoVV\ndOI/lA8lahQP8n1s7uc90UPPTpbk2AsKpORXqCb6fugaVfMMAoOECunvY/cZ\nBZSCwbvLk7QdjAT5HBtN4azaHs3oPMc4KZEyl9I8PRsNlagdA2SyJeRFhPXi\nkxpi\r\n=k5MK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8JH5TwXY4Cg2K7/A8aRbH/WZDIX3xltkdb241Mu59wwIhAKKQPdF04sQBfJU1Emq1+N2fVVvR49NPSzZRRaNF173X"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-46a8f63_1601496150767_0.6361221635340111"},"_hasShrinkwrap":false},"0.0.0-817cc9d":{"name":"formio-sfds","version":"0.0.0-817cc9d","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"4f7a8a948227d784eed22eb73e5dd3392956bcc9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-817cc9d","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-jDmcGAUlqSFTvcoHn7N1wKU3+CcYpDu7dziYw+q3A51gpjm+L7Vu/opN01yDbNTWdlAnhLjpnd4gPFiRhjhp3g==","shasum":"ae51f3eaee0d996767c91b6def35449f3265d2f1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-817cc9d.tgz","fileCount":248,"unpackedSize":820051,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdOUGCRA9TVsSAnZWagAAG5sP/1GPeUhcmOcc4x1QZJzR\nBldmkwpItD/LSvCIv/aiTXREGv8rj/KKuBN0k8b27fAUAFoGn93PnhqjuWot\n+vPvxLPd4YD6mqfxHaoT/eUU9Zh7NW6UHtFwCpZn3WRXYTOM8dtwOUwiJHpU\n8jepzMFskiKy5Od9782TVcod7pfl216K5SVH3Z+HcB74HHBOd2scqug78a4H\naeGdhBaiCbdsFehHFCQ4drY059TAlWk72DxPipal6AHmAxpHvNCUUYC3y5tK\nQCPhoxd5YW3P33psvdeixXHp2XKmcPjbEn3I70RYy9B391T80v9edWrq5Rk9\nN1nuXDuqix6hPRrzF5zpEEAVHnF7xhuSS+VN+TZN0jAI50INtAJYIQOY5YUX\n8iKof1eAVbUElEgV+ZCVoCUb6YHf7PeMCBeuQdDMEWpGZXyRms7Q7XGvVphL\nGXM9jr1VXEfaSHQ3z9v7EvR5I6xGjBnRJyHtMPqHb3OHV4IcGDIDUlGaqZUH\nxuWZ5oZQakDHrdrMlbRkdiKl3JJJJ7OLS3bZhKbPphAOeAYN/6MX/VvhYXno\nxuR45SHIkBmk9odMl22NqgEC0u3NDgEu1rgVXcndYBDTg1E3ZiF00wYmx9lR\nNSdZv6uycU5CNRCUyc/ew4ZTwaBWhT9Ey7QaZkuHaYbZlVCRZFFudICM7WAP\nrTDy\r\n=xngS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCzEIsYHU96+V+4xObx0ELutEWpQyEj3UOEeHLUk95PgIhAOtR6jFKgkqyJAP1cJMG/LW0dFIvX/wrg7+plWfAC/Vv"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-817cc9d_1601496325705_0.07347515871666732"},"_hasShrinkwrap":false},"6.3.0-rc.5fa999c":{"name":"formio-sfds","version":"6.3.0-rc.5fa999c","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"590e8300af35bf9c2d3ad639da8004648c058108","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.3.0-rc.5fa999c","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-uOkpcdE/7bUo+iyL5bhj04UBvWvULkWZLKH/yZ57OrXq+kSqHyiQ3ikPz7OPw9RtU1hhKj7AIyb0MjV0VGV1QA==","shasum":"56292f5cb5c6cc9d0afa8485632a06ceaf05b45e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.3.0-rc.5fa999c.tgz","fileCount":248,"unpackedSize":820054,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdO4qCRA9TVsSAnZWagAAYUAQAIYgJV6yFoVc61dXoyM+\nJNl0GF5Ou2o+xkxFafQN90K3AGw2Je+AUX2Dk8ETeR9iW4rYbtuC/FLxqxxr\nIGkuf9xgEYFcGxsnXJptTNi+IxfiK9jRf3mCPlqkrmtsLAZyYiBf5Xt+Ae+o\nw9SuENMSZX9IFm0OQYsq1FxkwpD4D/Jg9rCgvn7zLzM/PdWzgyiAVjzeXYTV\n7y71GdG5PsurfWmXFfbwxIeNqbQPpUDN2nC2UoT6JFR8A0t/8upBxkxH4EAm\nToALHs9hSl+yyJ49MfJ6I1joj8GLBNGSkc98dQDUi/Pv+SYO5IQ/cXM8+XYL\nTfUfFEUhNOnl3UjpALziY5b2iWCFL2wTLQfFn86T+OmN1U6izls4u44RoxlR\n2O/bJ1aZkHYdVCfQySMwDH1CDNlPFzmzBVTWpzsbt0iLUBkhNMLxRxzfVWvM\nWl873EQTFV6ySY1N3RWFBzJ/TTaJp93CwuH1aI3nvh3bvGtW4YAUcgAUqYsX\nUNKjHIXmSw2d3cq1E2fTcU5dIrpnhtF4gZT70W1YLszZKudIKaQIPWvdkSmV\n5NO6lNV7FnFeXsCLAI/FlQcjR6efOXYFbQ1l9c7sTcF7oePclIjeQMNgrosB\n9hC9F5oNfWL+/BTyRmRbZQvbXlM1DHVe30U/LUmkghh7PP6sWRs3ULjC8syf\num4a\r\n=cS/w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQbspWKjDTDHI6czi3JattZ8SuDBDWXfcCRl1mS1MbeQIgDGbv2ZyP4fKe1C67fOpKJfDxwKvwfRWNBa0/6PJe5aM="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.3.0-rc.5fa999c_1601498665847_0.1022185062271661"},"_hasShrinkwrap":false},"6.3.0-rc.f321376":{"name":"formio-sfds","version":"6.3.0-rc.f321376","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"2ea02caa9ac19e255247a5de5c6c9b163cb3f22b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.3.0-rc.f321376","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-AN6do/2blY9Zb+rTTWR96hqVJ2nxFsSJbcImIptjlPIpOyiBvRLW1Sp5jtjMr1NM98DzfNEA3e6DC7iXrXK3xQ==","shasum":"195dedd8bc1954461267d06c03d7e7de7818095a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.3.0-rc.f321376.tgz","fileCount":248,"unpackedSize":820054,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdPBpCRA9TVsSAnZWagAA2mkP/REMYUWU58rb2PHHDXqN\n4uR1Zpcr+RySJzZPZmPbEzYipcNYigYslIhp8ItEgYrwDUFiwCpsMpPQgut2\nx+jnNlgbcNwaW46vrkMIEN2nBH2oxfBnaiBTAKzM2iigOmE5MqJY4sd/IYqy\n8eDCxhfXY8eW8LBp4h0OW/jRg8KQBT5hbAJdgmSwGk/c3r261Nz94qpxO9vl\njLgJMvLV3daoVg7nqEBTIX9PuMopEzB4tNl6vUfEVSoiLmx5Geal3gWx+uLR\nKJ5gLmGDzFmHwVDEEUShn1yo4hGVfSEQxHYqwo/eVCQ5z7gIteMi91UfU5oe\nD2u5G1K/7cNh4ImA3kke2q/ZwVWUZd6GLeG7W4uGCejg4PACSS/NvCQ2xBuU\nr3XRP1FyVEJvNZFo+yaTRwk1cVt0sd/kvBNcddhV1vFji7HvZ9LHn+JpAmAb\ngg4vBQz0ANuE6z9oql67BbM1/AvJ3pUKphZHfwSRPyuxWUN2NrE8u7FOHmaB\nF0bgwShMvcIiKmddGfZJoxA7wgYYla44mxYEDjcbtreod1l4JRYsUdWJns4I\ny17SzXJgIJ1TG7flPQ2S9tV0FfGz964S07ZmkI9cBddaQBBggCyEolAWzjB6\ncKObSGDqCM9qCBJJURtEi6BDNjDH66ay8ZuonJe5IL8x+Hw5BRWKtu8gkYjn\ndhdB\r\n=TY3R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+5+eL1+G6LnY3eXNA/CtPngVBv4PDQrysPNLwX7zehgIhAOsUxNk16Q1y7U86PkZku162dbJXS52s8N5CqaBJ8z7b"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.3.0-rc.f321376_1601499240286_0.11904881647512755"},"_hasShrinkwrap":false},"6.3.0-rc.ac16188":{"name":"formio-sfds","version":"6.3.0-rc.ac16188","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"e1efa21b59502fa391e9cb8efc049cd33f6afcc7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.3.0-rc.ac16188","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-A2Vs5JWuzkz3nyFCf45yv3pHkHwQEEmIyLIm1kPitzfrsH9i8fXzZKxEEoq0FKvk0OutaQNtI7+Fxs5a1u0iXg==","shasum":"9db6ebea66852cd268d4c34d0addefc9589eefd3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.3.0-rc.ac16188.tgz","fileCount":248,"unpackedSize":819740,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdPHXCRA9TVsSAnZWagAA6E8P/1VAPs5gZJfD1IU2c8Ve\ntSztHNg9fNyAw8KczrcnX3F25R8U9HWVUFDY/WRX4kYt8XeEOYCseIofooU5\nt0Xq8RLy6Q4WI4/pck+o2i2jMmw9BTKBFfN4WyxDswu8UNsuO1BzSnXPUiF5\nDshOFXgc/4FDLPAIiXPg6qugM0x/gq5CRCiITv6FqZf1r2KadjCIlrvUyzVT\nO13ldO/VKRbxpZrSrYi7VcciXyhw80Igp0uZf+Hw8RiW9aCMyXECeV5W9Nwg\na042D4KDjzDZ/7+H5LZWu6Vhkhqj2mkX6oFRdgqzgl+5ue5WBrLezRsiWGZm\nt4Z7yvP/lP+rZ1zR22JhMxZVKcvwlbqCdHfHlPZ9hKjJETepefkz+Gv0sMdX\nejfISI35AQLD+SEc+g13sjLxLFW4D5iTvZpGW/4rG71XiPFYsAho1v7AbZDt\ny0Ue3OylheKl7esQReBOFqLIgBjoNztROZ/LAYQjkBNy1g4Zu+cWos+JJicr\nOLNT+lrE9GqBp8ttrpY1NJtSn+GRFxhtadv8Xx9tWCA0D+4iFdHuPkWvpPRG\n5o4XuSKmLE8DlOx8c7lxzIER3A73LOzo2eFFzQrB2APj8AyE9yNqYZlnP+tZ\nMSX7GZPHX1z0IB2eLZxv1cZUw6p7WtXo2DgXs0oYYQuuBheUsYOUOQ69iFbf\nfv/t\r\n=1BiQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwVeM3Yvlppu5NPGCdNIldwpMsNG3FDMSZ7qd1ZdovEAIgCBo3e4Dw3VCR0xWBOruUvy8RLXxYwU+Ka0bP1aSuHM0="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.3.0-rc.ac16188_1601499606790_0.6079294055087772"},"_hasShrinkwrap":false},"0.0.0-6cd2805":{"name":"formio-sfds","version":"0.0.0-6cd2805","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"bdbf3815a57363cafcb7cae9e4f9bb17e3edb6d1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-6cd2805","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-GF0rElRqU9YvLoSAqtfHnV7OuEc1UDwbmmxdNRunxiSGD7gf3Zo4KipmhDKckb2JrQ72bVr6hrPDVa+lqShHxA==","shasum":"60cb375286ac136196b12aaa10bcb80dc1f58a07","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-6cd2805.tgz","fileCount":248,"unpackedSize":819691,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdPMZCRA9TVsSAnZWagAAUfQQAIpnzlV/XYC80x6eyMmA\nFKWhmXN4f7rhthyDo4JQAYNmrhYsCGrcx3vX17M4zc5rydfltUIWN9QGQ51q\nn1lUA5qpdmMyK+bQ3EJPF50xDv31FO7ivsaMhUeU3tiBzkAq8UXn2CvlPkE0\nCzbJcriTtr7ribtBOyZZ9HnxNEqyv4RABoE/kkpdDVvk/JwgpoBm39liNsH2\nvcUF+9sXocpifltrRC9XgPitGkSbcyeq5jUg/0NiHIOxAasB1ALInFaWC1aF\nEPILZopbGPTg/JGs7rIEaMqehfhaA/QnIhEZd9XDP/45ya8NZAMruorRTjlL\nc+MibLvmnAz7SMIDU9rGTAnTI/Q54J7qDC+NnplIVbCpHSA2vOuWZJVgVPWd\neAOwJwwi8/WBQn4FjPtN1J9pBLQr+cZ9Dk0FL8ixFT6KzLL2WNpQzdWXQ7th\nQJdqDdpYkV+FR5Rpu+8W35qUcmS6Nw9CrqAh+kvxytq8mY640V3epRoiFmSq\neXzYS2H7Zbh2+xp23VGZEID+npeVsbRcdJVlbCptPPCm2YAfSYMemifHJTxo\nDWPoGoDJuGu1yj9RssRX3mxzSt/6eOb3Or3u921FZf+Z0fYGdkVCh68+jS5C\n/1z5fJHpvXTlnuq7M5hpA4wvGahnDjWiAwKhN1kGRAjSN6gZTX/JuHg+f5WV\nGHKu\r\n=PBL9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUf8iAIJvyLIo+UjpeR2PS01881CXfBh49AIkVQXNOUgIhALaxROqDur3yXKqJNKFzGaP/whn8wmmR0k3HctrY3S4m"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-6cd2805_1601499928926_0.42897069569120383"},"_hasShrinkwrap":false},"6.3.0-rc.2451b1a":{"name":"formio-sfds","version":"6.3.0-rc.2451b1a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"ef964da1649b0ec8fb9b9f63804eee873a5c2ba4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.3.0-rc.2451b1a","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-4j5vJ9bumzu3AcY69KelnVcLN4tBpxqhRZ5XnIoG8MRtvTonz6KXzccnyJQWTRH9EERMMh/Wgi6G6SrjVhKP3Q==","shasum":"6430929558552a8f65bb09a41c542761cc66bbc5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.3.0-rc.2451b1a.tgz","fileCount":248,"unpackedSize":819694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdPOVCRA9TVsSAnZWagAAobUP/0V2p263z/V6RczLPYK1\n6QRvAUutXxzxt0Ep9wDhKkthyTxAaJUK652/nN6VojwjkWjXuErGB4E8xcFT\n0G5tvpIlha2W2H/0OkcKgFAgblKgYCZy/YFHPXJEyPRccEMhfAnZg0xudAiv\n3buKUh2YDUsTlna2yBUQrgovm2MNy4J8vctSRCPQ5vWbYlZvwj1hcZBEPcY+\nYi1v2xrZy0yg3T3wDT1ixny3tk88hcuR5RQBCkIp1hlspFFnl60KSnv5XkiR\nw6ssVGjjCSLk9rmb6DOb2BUoSU4q3H9LhIf0FRtg4LAEq7WgNWPNOoX1tQSD\noIswjtc102iB9KEF0aKros2KzrZXvmmqLmYMH1tSf5PyvN+f+iNCwKfOuhES\nkRRogmt81mKsSqWyaAQQGj7MLBSvwBM2RHK3X1zTyLICYBqaRC1s2ONOJb95\nN5yUlMen9VoO9+scJfk90gyujcQ2XJauimQc3tLHXWnVpldhMvXDef5H24aM\n1w+FTE1905v+pI1t7DFHQORAiUrcYoR/EaiBSM140lq7GXKr1afhknSvg8J7\nIclywuAi8ZfonARlMaPu9AYW+LH57GbPfWWtodij1iByPE8LgMAlGdy1QM+t\nTXvqaW1sZgUw2iKwbnXtgPlAEN6gpLpGTdFUxflwIlyLEIQnx2OquVqtDoHd\nRPX5\r\n=+Sck\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKDzMwwe3LPAOkrQFEXvFbosFo2tDNO7BAt+xbPncuHwIhAOYGKpTN2SfrGxd2de4dPtrAtzxfELHwTxoTZT9iDRTv"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.3.0-rc.2451b1a_1601500052889_0.36229854270294126"},"_hasShrinkwrap":false},"0.0.0-05c089f":{"name":"formio-sfds","version":"0.0.0-05c089f","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"e2dbd5903ee4eb2e9645ae0a93b6ae43577066cf","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-05c089f","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-j8tWwCkj+vH4Cb/Ta45pzBlmuOztJTiBJK3FYmXX6Dga78wtRexnxGUlSC+f688YISuWZVwDVgecw4tKprML8w==","shasum":"c1ba3c552ba796d76aa91ed10ddf4b1e4e0812d6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-05c089f.tgz","fileCount":249,"unpackedSize":823007,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdP6oCRA9TVsSAnZWagAA6V4P/Ru/MUAyp4qgWogItpIM\nsTIfKnbBR8aJXIcsBIZcj4Nyy4akQmAknbHA0MM+Xa3O15x7UtKz8ol0W1k6\n1OkZIahh+zxbdhxp2GjndYX9DzyBJk3cg+aWNyO/19ba6N8Hgik3T+SllouB\nGFKQKTJVBe3iRnTHDaK3+l2SRpb7pLIUS3iXXKB0btagEcBO+RTolerHFslU\nZiAtYWA4hTKZ4S2P2ECcvPIugGViE0Z5DggFJfV56Wjvw5NZrfKbRJJ4PSr8\n3Akb95lxHJhIdkA5GQ4G5om2TeKGpj/g50Er0ezxbdlqkhi4Wc1eCHXemPKa\n2VDLQZM0MOtfrDpTqG/et3yVOlXq9DlIUv9IeiH2dVfJenlgixnEWLVACDu0\nWz9BALFRIZ0scXd7mgaavP5UGHd+IFMrG7Hh24cLbAUvIjiAxYV1E66Gjmje\nZoH9F14jt5q9bsykUP95dNG8mEcfYCfufnH2VWNl6SMQDl2GhXSY4h3+vcI/\nhdau0fre1iY1IfEhp/G797pXoD1knhpL0Rvp6s0KvMTjdDJvtYzIFHeraHfG\njQdRraGS2/0PYKEvziXUNzQ90+7Y59JmRKgs7/DMVi/pEuLCrOG1Bti9zH+H\nGONBC+5WbivFhYG5fZLrl6+KhlbwDxpNP9arf1jtt+sJxR05c45RtSDfIZUt\nNtaC\r\n=am99\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaLn8TO9JTEBpqfnWXV8ZKeJmbImT/IfYRofsmL5CPIgIgbYkOts+0T0JdFhcfVoztHNOfAa0fFNGUMy5dsJRQGAc="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-05c089f_1601502888201_0.0801541367104801"},"_hasShrinkwrap":false},"0.0.0-3502473":{"name":"formio-sfds","version":"0.0.0-3502473","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"14e088c8015dbd071df435b32e71becce4e3a623","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3502473","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-3hN2lKbf48EAwQiyINfCwD9LlEXQJ8c9m9VTBrnLhjjUCEYWdg3CBlv9V0YKxMUeZiwIDe43sS3JIh/2S2iZAg==","shasum":"4501e8e8e9c87c95c7c369a9b48640dc96426921","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3502473.tgz","fileCount":251,"unpackedSize":830692,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdQM2CRA9TVsSAnZWagAAlukP/0PmL86aEIdciHM2ZWKi\njtHQ2hNoi2EoOyng2DgoRI0OZkKFZw5iOnPNJZwZSbhHdqSeahL6NJWtcHZS\nOEtp+9SejgQnLzyhj8VDUMCwqqct3cJAD/JEgSgJu5hSPysn6OseUSFWEfeQ\nmNywvciRSmKFW8XzCWX4tmTJKRCZRflLYE6w7bRDANnD6S0ARxlvF1AeWcgM\nks355HBaCOBespd7dd8DywFky8ZtYDP8s1tBBIgOdmr6eSTk0Hd6oemxgJ4O\nQ6qPkqime24YkQSf9xWmpmv/LT1UsqQxPVuypTTX2JcDNETnSPPvoj6vL3Yy\nHFj2UpgkrY2eZ+UCa9n4fPGXdVJQqwXDK2Zq0ctMk1ABq54Rmfvg10RraW5r\n0i070j60GRuZFcjKtWTWgFMmxGvc181N5o9jHpFvABzskjQfnYI6fcjdbsF+\n1ik+g85S9zJcf1yt0PNcPS4Xp0Hs7JmYwU52NvW5/V3wJluPvRO4uRZeA5rx\n5xk+VEqNLY6ui0TNfVoyRboIdfhy4Z0e72b4M+qs8D64TPvUDeF2o6N5LScn\n3iZwXqgvpKma9tW6qRc0NWZAc2TipV+g06ghzwN/hnviz1hHlLGSF58iD5gq\nri6ENgLsU9Dup700WdgDeeBELn+Nq2aq1EtPCyiK9TaEIQWyAes5TdGHU6iN\n3NsU\r\n=Xib1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIHkXLM5JHTMiZQCeX6WpOaz5IfLpt/r4U0bWiwkedsAIgdnkMfhgpbRKpaPs7S16+Dm32rsLKRu9ilAl2vz7bWeo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3502473_1601504054261_0.4570081911540873"},"_hasShrinkwrap":false},"0.0.0-2e26e03":{"name":"formio-sfds","version":"0.0.0-2e26e03","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"001bda040ab4033861a91752bd97983ec28c0553","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2e26e03","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ufdMFBHPNgWBrSPAL3h3lzvxpOjs7rsl8pDmYd96Yi0UhFIqFrkog1JrY9UHPnM5cknkCT2zxYFkg4VKkvsV4A==","shasum":"55c9b5f466d8d1ba7adfebe0e6a6f4c728b06437","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2e26e03.tgz","fileCount":251,"unpackedSize":830754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdQRaCRA9TVsSAnZWagAA2wQP/Rpwm5KB9z+pAfOK9n45\niGJ7a/V13l1/B4Gbwfo6faQJsrEUHKjYibf5yDQTozF87REjJqLWuqcUXBc2\neyFffajwLzbEWHu4vfTBOHkaXXlosl5rsdojzyrpQeH0+eXH68KpmI6jT847\nzBtJWV1C/zGQbhD5887B1mhbhkcg6WyM6fLlKelBfHPhBF4jFtL8MdA7OBkW\nTTW6BxP/UmxYvkpkeJ2Cmiu1JMlzcu/ClslPXvSlFHgGbuOka5771xJ/UjWE\n0q1l33PjvrAlcIfRI7vth06k3vBIsn64ZdOwWefBF08djwjtU8++5OZIrg7z\nLaJjYdk0vAM7Q0Xm5HyD6iZ6IVPUwq0Uaw0RmSBuNsY+tA3os4xELx7fHJ2P\nkh79LOdyiRpjXtyeRfyd8NArtJrqP/U9JuCDs50ZE6vJEI89gNl6DYeodj9c\n/1tfbQtyhTZTvOJVcscZXcTWi/bMH4NFnc5OsfOkiHhL7+jqvpVMofpbLI+S\n3sz2bt1mg5uguGGBXZTob2kaISqAdSssPugZqxAA5/GHhLRn7qguSiYcWk5c\nBxaOCluOcXuRf+yhJOr+x/ct1hsXiKeBPt9eL7vRJV4QRW+tH3/YoPCyRmwf\n/rojw48k+xn4hCoT6ind46Za5ddbCCtwkayypzkD7OdjOhSEnozaaxk7qp0O\n5Ipj\r\n=LBhC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDT8vXQTZ+PEZL84oyPzGeFDS+yd3Ud39brCMCI357AQIgZLK+PmDA3vhkYiT66z14vGnsSTvUBO7PMwSx4Fd01nc="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2e26e03_1601504345513_0.32987662904973547"},"_hasShrinkwrap":false},"0.0.0-f86fedb":{"name":"formio-sfds","version":"0.0.0-f86fedb","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"4ad8e85505fc493a15f357336020e3d2670fad36","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f86fedb","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-GXetbks9HxpiE4QYMfaGrXFOar5NB4Z9jSQSYc2I0qyXrV4Lv53yXPEQrMcbk7XqmfFfC+DMq3eY99PXcODFJw==","shasum":"6cf6728e90d75e21ccafb7197a2d40a50f20a5a8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f86fedb.tgz","fileCount":251,"unpackedSize":830754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdQTACRA9TVsSAnZWagAA+xQP/0U0loHNUOsaWENojV5k\n8P4+ojT0Jj7Kn/ANzR6qIpLkMsbHHNmCwoQmXxjrml3CwpzjRh3kBGVnCSXD\n9YzRciF81Dq11/wSOfMRoPFtNcl7/T9ek+ohDyoGp2VtqdBiQGxhEKw7oWEC\nG9jtydYxko2tuNCML4kVyNWXrP5NCGWt6vnEJSx3OGD8FyujHBoVI41jN8mH\n4X7Ys/sGJ9vlMpgFcmWkjrPmLHtoGSmprSM1BFA2LiAX1pmQ8FuGrE59KbW1\n7TNn5oCH8Efg1AXzmiYvHilaI1FC15E40kaOz/mNAC322I3q47B0U1Wesl7l\nW32gs+OSIbOblSpLsrWxtR58IH2i8hBagoK9XVAf8Vsni8Ucy6hCcnlDeSQm\nCC1sa6W1AHtrjaNlFxbbSr71PbpMtiYD3Z8ijvyb0en9a2lHooEWwqV0toE/\nRgPYwEQbg1rU4me9e8BUbHkS8SJjZg9FBpdTRPE+nOtiFRrteAt/B1jIDmZr\nRiVjD7lJWpW1E49FY9lA+0bb0V4bgtI2q9v0KyjlF3LA/zcp0La0q+0fRoI3\nCAaF0OpN0RVt1KeYqksVMoXreBbgT6uCXUne77l1HkutGUFb6hUkv0t+aPlb\nPe38rRa/B8pI+gJm/Faj32uzJKdFSg1miriwJv+1aSTdl/cs22Nias+4S01t\nNjqb\r\n=jwAr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQrkUJu6ATkGgHKln6xwkM7j3Bi+rHcUwqO/ToFMFqowIgcH17U25RItxO9XP/YyCSVRJ+Yqo6Bcr42Rf/EtFfOu8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f86fedb_1601504448319_0.6677907552844888"},"_hasShrinkwrap":false},"6.3.0-rc.acbddf0":{"name":"formio-sfds","version":"6.3.0-rc.acbddf0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"5949b8bed08d89d626a9f76243adbaa830d47d4b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.3.0-rc.acbddf0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ypFfZM4262vgl9DmSeptlcPmDNHoR83suhDAV6PPqB8+0dZmghigimD6Nw4zOih2/ka4gAmnFcI0HALaFYNJ1A==","shasum":"e069ad6276374adf43fab8c5c40c5170278ef7f7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.3.0-rc.acbddf0.tgz","fileCount":251,"unpackedSize":830711,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdQrQCRA9TVsSAnZWagAAKhQP/2SKg3D03p+2jg3CDpRe\nyd1ByvOtYgxzhFx9wdth5Hul6/VMrRfPkGJqURieTMpeqzCM/yV98npVHrQk\nIHivrXjjnfVJ9b1RKsSZKgbIV9zz/jV9NiFb12NdQTU0Y5bh5IOJ2Bd3HBvy\ngqDNlYtHJkTcod+6mYtLGpT+gS20SkNd4VmQsXGUN09QuIfvnm867qbyG65M\njKWWjFC3EkamEhjnEzDzMbGZefZ91sBRv9xFu5+mB/gLE7LocjcxzXQ4GCxL\n0yFf18u6nD1ekQFKD8tRnVrYAAYOwnHtmDy5HqTpCTCz7Oc1etzs3kHmHPiY\nylwtP9LAwPGuauPzZtUPkezrxjUTgTPYojSn9yprbxa56nBborB8Z6cRUoN5\nnJZQq2m4jZtWV5k0wLQA8KXMOElarXCtfykOvaW1sWeZpHUIdZuy3ledzwWx\nMRuKBMg4DjxKX25JAtJMSL+Rh/xNknxYO6T6SZtQsRUdgdfwWOQvszTixW+4\nS5C/WCnwqTZ8VLTPfeeyjkxr/zaoCcu5ZDb0jDdS0LtXfxZcMoZSUfaBL6IB\nVNb743yUar1y8a+nMHX90vPoZEXjKGNDXydKKvz87aiJFvgUwi9Hg27Xd3uG\noFYUBUjmzR0ulO4jzHOMGVvI76ggwKMJM/XovufjrX0Ewy3xSJOgBeu97jxP\nUPwV\r\n=uWXk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCI4tGBK7x/eXdPE85B0xBNIZPF1EL/vYAv/dxe0qav4AIhAN+DwEKeCGoDgirnoOf838OiEOrgzDoYGkkpSltjc7Ab"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.3.0-rc.acbddf0_1601505999490_0.7599087576203416"},"_hasShrinkwrap":false},"6.3.0":{"name":"formio-sfds","version":"6.3.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"gitHead":"28bd75f1945e6387badff915c8d8139ef68a66ae","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.3.0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-bWdOnr5wYPcSe/JYa24ZA5GKZ3yrFSmC3X9hzxVVwrz51tvdi7LcSwODMrC5W1wuzsefvFHDWM6UjZya+1hgqg==","shasum":"d72fc3552817697e55ee0d3d6454b9163b4bc549","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.3.0.tgz","fileCount":251,"unpackedSize":830700,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfe1TXCRA9TVsSAnZWagAA8AAQAKFEDiwSqiSq9bn73y8B\nGtvdDpNfFzTOPM+5b654NUxmos7diIXMR59ryg6nOZDqj5f6fc//BEPgKLwo\nadDvafji/AOk4D84Q7v8FcL61nRweWBGHqymdRtyvmf347C+zj1KGTqJXA5F\ngHTqllUA27iLJFtEzhuvLs3Nrh68J0K1qNQCoImr2SgnKewnMj6OFo5QUuPu\nMUdD6kB6+IylQUQRUt+vP8gT31G+7j7K80eysG3+O02tpUIHc7UV6QbP5HxZ\n+C3pHyhxr9iLEfRMu/VDiAzapNMGAIfadP6Yl1igXk6JUBgpHyPzFJUKoJkE\nkq+9zrH0pQ0DTVpvBhnXVDPCUZpGK6sEO5tmSamweRWMe3GjlRNvum32ek/L\nLwkfsWL8nsjURKLLwNxVdnsP0fDyDjo03BLFrcTSwb3oICP2PZGLQjA4Kl5A\nTedNpKIVOyjSpn107HPb8BBE4jeiBLDgnGnryNM9vCK7Rl/ZteqG89YabNZh\nOdP6NP2CXKScUytjuwnOp6eVeMmUV88hM5/Vp4C2108zfzf4ltvHg202x4w0\nffDp23hAnSE8bkHuHiJygzJwAax41fvf4qTb2bHV2NaeeRIQkgWt3Baxvg2R\nzhBHy1DdsfOFkYkyN/NMWXnlSeU8Gigbhf0MeOgbR30zFHoA3ZiHVbsIufnm\naodr\r\n=EgQC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRiocVTzY+Hxxgt4xu9MrtImiQpYtcNWDqxsHzSjQnjQIhAIZFCujHtLyZ8h3V5YiXxjLrfWsT/N2KFToea4tv69GV"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.3.0_1601918166495_0.03487156893595067"},"_hasShrinkwrap":false},"7.0.0-rc.4507c00":{"name":"formio-sfds","version":"7.0.0-rc.4507c00","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d953fa69bf1dfefaddc8b982311f5ab1656c5ff5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.4507c00","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-orTdo3kk5x0xgLlG7Q6HIvWRmUERuPFKVocy4Mavdu/+7Cjo6TvHGw9QRCQ+7aG/sY872qYVpAFJavoUYqzbkw==","shasum":"b97dd7a8487ec1b55ade7dcb0f8ff2c838acb7db","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.4507c00.tgz","fileCount":262,"unpackedSize":905594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfe2huCRA9TVsSAnZWagAA+hkP/1SQPIUSYsihQgQgS89q\nTFDdq1/s76pt6mTp9AEe9QVAH3QLzgQ/8qdi9S21zmAP9Q/SRVSiuPoAthDx\nVNi3euhlCkGQv0um3p4Y3ZL3mX+augC+nHKk8RxwQrr2PJ6PSEX6a5KCh0Tu\nvVJ51OA4jAiHvdLuebP+4g0cfzENorIdMXDUfxzaj4XKRZIvmGtNOSHFvm5q\nK5ffjdEm8QUUgzYPyr+2eewXtXu67FC8GdhjVwBTCMeREqBTdU/re4HvnQaU\n9+k8DctYpQnzNw4FeM0oVq64IR+3qnoCQLXfP7m8AW9dU0BHyzwAzIxf7XFS\npcEOl6ZAX/Xoq2Ty471mVr+YRTXmjOngk7tY5TXpoE/KUDWKWCUtnmqIzvvd\nmLQqn+1jLgrEElobrNktXZHL4b2pHjqN36WeTQ7fzRUul7JCeF9VKguPvV0W\nLQcWqscNDxg1RVkemlrbK8mMDZ33jOMUMRGSrWl4kzZ2HFZAfNO2hETjQJ3d\nS8ZdQSUdChGSJlw0fgMPM0++5V2jWUj9JvQRkRZ52jAkbFOddhJRYqQMVExJ\nkSPM4grGflElPeWL+p7qUDK2cvxRMMgpMKZuquytr5SiAok1UGf+5m1nwqSY\nBekzr253rEEd8q5CHaIzPJSuwzEK7GGzooU3q9VIT+v7In0TALmRoefZUV7i\nWM1m\r\n=NleS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXqMwk8NeQw9wXX22BEsS0D8iyZ1D3iP8oEKnUJHkoxwIhANW5W6kowJHr0eQUIBqvmeP7FopgJws3NuQHuM/5coMj"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.4507c00_1601923181611_0.35907978595645096"},"_hasShrinkwrap":false},"0.0.0-a564bd2":{"name":"formio-sfds","version":"0.0.0-a564bd2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-react-jsx":"^7.10.4","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","jsx-pragmatic":"^2.0.20","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"746869cafd18eb98a18da9d0a6b1a37e83db5f98","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a564bd2","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-wAEPuYZgXo5YxvbfEkJVOuDcEr+7emy2TWIxtTKMFlbqvZo7bfCX9g4G3ks+xfhXTOBHoM+43lEqYS1dcqBNSw==","shasum":"b515baafb3820a4e00c3bc077e23be17b3a6b0f2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a564bd2.tgz","fileCount":264,"unpackedSize":923304,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfe51lCRA9TVsSAnZWagAAM4QP/iN5F+rG1T7pA9sIP+o6\niGSy0wEUm80KzG1r0iXxFWgF78/Df1YD2oHIUbSdBULL9ViKohqFS6Ar2Rrg\nPvVAfKOJsmqZZl2J//oVfS6gE9ek9dfdlIR4k9jLxDuQ+V5OGFRAH5beGsmd\nrWBpo+GmYCK+u0gFgL8XN5lGN4WEIEy6eWkdQ9lGvOcO06dOFyogAPA82ioQ\nobm9nGjKrtDtTW5NPQnMOcV/MmeeYphX2Pqg5fAFN2rIXEugiaF2mOF/TcJB\nwWV6XozjABOWfO2ThPXHwejL3fFEIBg8w9DGPJjJuP+/0RCp0bFXXnLhUQDw\nEDHvPjcKWRGANGY2192Ww1/ibcToEVh0siUUVr5ZmpWgxTmQRfF0sz0IVQZN\n28+Q0BIC06nBDp+iVliI+nmkmftrOmv9fBaiKITW4lNmMm9RRAk5bwOBdEW4\n1wXj+pfg7LrJYIm0sbglie/IFKdXMvfEHcOqLnNL296QzGk4bAjmk7BhqHEp\n/Wq0fk3z/JftuhBHS46d3uGPa5nWORzk36KONw2hjfXPnEliULhCMK8lwvPr\n1Cjpa9nr0yCrbvlbcZXjL88VzMfDnfV7h3EtB2rLd48u97eg78MDfWsWL8yG\nbQKs7poB7cbB1Add3L+FkTJIQBETN6c4nvJcOvsFOji9iqPQGN4irxYFj1i/\nKYXD\r\n=48bf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3hifUONY8ow/nJH2tZoIi1MHh/5vhB+0HNTK8epug3gIgLEYfI9MjJJLQ5uySB4HQooL0pK6cJ4tbctKZHSIhrbc="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a564bd2_1601936740743_0.953949518973848"},"_hasShrinkwrap":false},"0.0.0-66eccf3":{"name":"formio-sfds","version":"0.0.0-66eccf3","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-react-jsx":"^7.10.4","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","eslint":"^7.10.0","eslint-config-standard":"^14.1.1","eslint-config-standard-jsx":"^8.1.0","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-react":"^7.21.3","eslint-plugin-standard":"^4.0.1","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","jsx-pragmatic":"^2.0.20","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"9aac85c9fd49766cc6eb02a9963022a95e0bd582","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-66eccf3","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-m0MfdRtsiW4Rj9nTj+RBgVjmbdXbjaj7xSnemhtgJs3dMblbUNm7BZcxBXdiMbFo3M3rkK4KZIQqOnpc7jSEjw==","shasum":"6bfbf7d1f441c70547f602b5ee16edc96ac8ee03","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-66eccf3.tgz","fileCount":265,"unpackedSize":923980,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfe8g7CRA9TVsSAnZWagAAaT8P/jhyz8lKOavPPItiikVK\nHYv4OLuMnoM6I/MhdLvktWeDnkvwhAbLWyyz4rg58DkpMvopeJSENDb8ovLQ\ngo6dQdfTLnup1ezI5qB2p28WX7306tDUtdo7dCsu9ofuuexrJD47cW7BN0Lj\noNvWSd7QjQgFzX6xI2+eAEdrrVeBW/Csmpn7USLPHWDyIsd1phk+Odkmbmpm\nxF8kSZKUuqgdtTlj0azIQ1flbaVLqtYlIVfFL/UOX7VaZ71lcxre5dbxvkoH\ngmmYs5yHY/x79nd0kCrR6k2OWTPc7uMg3e4a6iCfjpA5rcVvb3CAmPlUQPpC\nhLgM0BwrB04i2fEwwvOOPy6s65wasqrfdqazgPh/Obe8ccbZcfCtmKo6HZOa\nkI6H2n2iiShcXusaKU45e9lABWoc/PpOapJaIMFr9f4xvhZftEZw9HeprXFz\nstSC8UpHnFbJnl2iiSqB8aHj4M1EwrgryVOW/ffCYDSFj5joBrsLpcYSYCiM\nUFdLCUwE3Qce2/PUy9nlvKowz1fIfHK4rZyfipZ1dnvcwjrcMO9XnTIG1CVv\nlqx3R14XcEtuwNaRdHlTIfQPWStUgciBLLNs8SFHK5iacDQ7ClgTSMRg5lSV\nOL5S9DexUWsdb33JjARd7becU7hU8E4yiBj83LvGg8gt1Lh+uIL09C3Yszno\n6NZY\r\n=VlGZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEo7cVgnp+MPewkkJ3P6yS04pfOA1C6Pje1H+pXWpAdAIhAPn5847D/M54VnP6yJEPTkvUSzGy/wts0g8NFk5Ci1Ci"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-66eccf3_1601947707165_0.07610678272598559"},"_hasShrinkwrap":false},"6.3.1-rc.97c841c":{"name":"formio-sfds","version":"6.3.1-rc.97c841c","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"4ce981b22abb6e3975f0001abfcb83d51fff54e7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.3.1-rc.97c841c","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-S3lon1TguHbZBSy6Dn2CzS8vuHZeq6VG3zvlnAC2tPMNQ8a2iTM5kST/JHnxvArPksBcRcCiSrM7OEru3TE0Yw==","shasum":"dc0b425112892846f5b5079a693a5094429eeee2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.3.1-rc.97c841c.tgz","fileCount":251,"unpackedSize":830713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffL4HCRA9TVsSAnZWagAAdMkP+gPoXeKnaW60AZjGOQC8\nxNFe29JLCHYPc+gs8Pc6yZT80ce4qN/qVasbIYcuYuVnVJgwRHJV0Xv5ZZBw\nQelzISgvXV6vu14SzANgW7SkwjSb/h7c2tYn1ve/D5wN3/GS9RgfEGPm33VS\nQmUWuDHrkVjSDgwCN0vr1pl0At8kstZuRUIWaM99cQK9ds2zq2eyEd5t7WN/\nnrUJoW9nBpeN/+enwQMnYcaTddBWo2MvWk2k17TfZF+eG0Pb4XvJ12YSifgz\n1cKoUuA7BA2RoyIf9O10Zuw1c7Mw0sLcLy5yycWFb8PPnhNWmt7WFhpbmzgd\nJmh+/ege9tOHcqR2aJ6zG3ihN3SQUmAAFG4cdfuzA1dEqzFR3HBvJ2bC7S3C\nNiHHxnJwL9+eczUgXoiIrUi0o45wphnDY2QrAxSSDf89CoLVoQDCz4oe6b2+\nkffe3zqQvGdtKX8CzcQNEBN5fWPKbeTcHvd1gCRcLg2RzdMOYYrliSMhk3kf\nLkOGrgt6thzxN9UnKrX2mhbu8qgHHf6eUoNWZxh0kp5ED5WdAOLBxuQcb1Km\ngnAC5CLg1CADCYo8Bg2oPXvkqCXPrURw0H1lcwSmaR1iNgpYzqlzQGhxDuqj\n5t849F9fYuseJekbs4uSbIoFqu/E57hvU0T0GoGhc4Z7HPbMEcvvibIDVJBC\naGoG\r\n=PHZI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBL+foeujpA4nQvfg/tD6dDAb+ZNrS3T9NKOiS7ZwB1lAiAUNKwjbe3qCbTuG+0iH+axpZBIJrh6+NRfQO+LEXnJ1A=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.3.1-rc.97c841c_1602010630876_0.30554912726996575"},"_hasShrinkwrap":false},"6.3.1-rc.bc9e2bc":{"name":"formio-sfds","version":"6.3.1-rc.bc9e2bc","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"1e31cbb5c517f0eb41360541b03d44ed2d815295","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.3.1-rc.bc9e2bc","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-w4+QcE4SG0EXZxyfURzy6bNUHZi7YXnztQ3rSoyVCyvTEKuwp5h7Z8mpEeRpenHT/6QyLWpOhZ/+nnR1l29vYQ==","shasum":"287ef6c27802d4c17e5058e4ef5b746b1e8786e3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.3.1-rc.bc9e2bc.tgz","fileCount":251,"unpackedSize":830713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffL4aCRA9TVsSAnZWagAAmIkP/iVrIjrogr7Z982KtmaV\nr2/sW/Q3J2pKxPUmFeyi1UC83KFX4F/rPAXd9tX57z68DjHZuaIx5ZTZoWii\nBBYJblWN1TDdEn5VRPx2YOc7k+UcFsCrE3hHQ+qOhdV3IKeLRISdVH0UesCA\nOc08FAuZGB10skauS/Nxe0Dq/BHhOofdGJBv0rLrWIepLIlD5N+CueoGOBX9\n70yE4tAv0Srn8I7yXwZc1jcEYWG5nQunfsPH/ITD3DbJIsQtTT5YcYgFRWn0\nlhChyO9eVGos/PTWS2p2sYYyIr/mSyqIUuWWLVVtevr/clelNm9o8wO+5oyA\nX2Elr26OtRUL4oUubaTsK16XJ0Vo884Hgier4wp88lJaExADkJYX2923NNQP\nc3QO156FY3ORi/dgIX4ONYFQA/ecEPy4IbZG01M+2HdwEjf//jvb7ecXgLUQ\n18o4LSrQRI5qWj4HeKAmI/PasIzLkH5JRYq5ASfInIB7KJGRirMsRU5t90bq\n04uXkyndQZtOnYdVAwVrIJ0nLPQMkOaL1sP0CIbAykcHE/j9ZWfwkRQ6jhFq\n2dWjvyRoQP3JJk58w10N5QfEUUP9mWnP6tfJ6M2wb+YuyIui5N8luxPW00Tm\n778KdaZxNW0nIZ2f4dl8jzLwpuugJmX1qmwPVaCp+t7en0VAYajJY/5OoMs5\n6spw\r\n=/I1X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7Dgn9n8fXgkjkCGcwW3NcsUdhCuqj2iPMsel0cilSBAIgGKTBFGcVqyjZcUXkaX4uzojfWXWibZtkzf+VSlGpBqo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.3.1-rc.bc9e2bc_1602010650035_0.3888163638330928"},"_hasShrinkwrap":false},"6.3.1-rc.6b31caa":{"name":"formio-sfds","version":"6.3.1-rc.6b31caa","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"89d5a0e3539a902af0dab6d99abbd2e3abc705aa","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.3.1-rc.6b31caa","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-B04SU27803hCsMGdMpnMP/GgNi20sx0c+jqmLGrwREYx0DTfOcsquuOHMaFUDGNOqfVVzbPVW0dNBI+nHXgInA==","shasum":"1992091bc9ce7b8205ca53d83249cc7ba2e77319","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.3.1-rc.6b31caa.tgz","fileCount":251,"unpackedSize":830713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffL4oCRA9TVsSAnZWagAAh80P/2uGE/EGut4JKWNU2bF0\nqCNxwGmA9+XCtTComV3sdLzFjJQkEUWlGc6LjdqlYFPsGUmygMzL4eJ3fH0P\njG6hvuNKt2RVSjIGrSIKipgCLGv3XcwuqeKAGN7Aowt89Pu2LXKLA2ijKMzO\nOK9R0hAM7Qaevh5PAbLoNdFVc2OBLTO97KoxdQhNBiKjWBLc8yJPJTxXdUex\nf8LZPhDOum8KXeF42dHjivLdv1wYZkHFlat0yrVE/hd3lgU1Lc2JMORDp5pB\nLI7EQdl42V8tX7T5YTpsa+HtYO6vGImL/08so2wu4+WZMZXOhYIpoopgiS+y\nTKieIZEMlh187Dc50duFo9CLB70eTZCAG3qr6s/Y65TG9zIDy2S0Q7jGUk2W\nQElRi1xjgCUe9CcBUTkpZRJf4X98S1wXfNIPYOS/+CPlf3M9E6DqmlX67y1W\nbo2e1XV65Vf6uP7bDbCJf2Tc3EgxcGU/DZ+QyfcmHrRKl8qk24nNbSLcEDWS\nYctgRiBZ8CIQPeYUv6oUJRt8f9uY1TBtgxFxA52o4eppqcUIC2frGrNiANXs\nSyUdCqh7XcYTg844beZxgBtBIe2rSGxwCNDimCLybksf18apmybera+V8oXw\nM/JBtsM85eOzwpFe9tbTb94pEK7LqRJ/Tnu0F9yxuGCXRjqUPes2BXjJdINM\ntsYI\r\n=rMj6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEZ0gHwCVuhSPAtDiMbJW4In4mmvaNEGErwnMVRXp/fdAiEAmXFgkupeHlR9PxANB5NofxPSpMapNGaxcuKlIibA91M="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.3.1-rc.6b31caa_1602010664206_0.6060959324642381"},"_hasShrinkwrap":false},"6.3.1":{"name":"formio-sfds","version":"6.3.1","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"gitHead":"54d009e44c2f722bd06a4cc8566073db1a0becb4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.3.1","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-5dRnRaEO3+QTywv9rAlECnk/cEyC6IrOElwfCqn2OLs16va3jzsWC8ELRNp+AGPXOXkJFjZpi9tdldHCUFNp9g==","shasum":"0989bb9dbae8bb8ac6a14fbc6bcb91577924ea02","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.3.1.tgz","fileCount":251,"unpackedSize":830702,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffNinCRA9TVsSAnZWagAAO1sP/3LxVQEmXk/qeVJTF+/M\nBiARh0cwtx2Ndsg7IN4EnS9O5Hzi++tGU9rVr8hc7dl6K95ELN32Hjk/erVF\neixYo5/gM3+Dt5PJFsZgnUW2n0c3wYo3DlJ7x3EC8FF5KCDbeIo0iK1n5NzF\nBXxzRielD6VxqwdjVD8BEzr3cy7tSbuEkSbOI3bkyIbH2JPyiLkkcurOHE9c\nkLm8H5kkKS/5DCbKiXVoPMva+RHC4S02W7HXbUKOx2o3PtRIqUzmW1DKaEQ+\njW5RfapN9djgGaaeebf4G+g1WSbAOruVaDaw4iIpWYTxuzwjnOoAxQ+DMefV\nceooBF5LSewDxF1admRo6m6q+EOv5oPqbmRghjTBuQ/yPJT+xEE6Nq0bhSkG\nF8Zk6ZsldtVAiMIdLygv1pV7B49NM6tu7K7K+5VU3jz6j4Q4+LJsmuFvlxYQ\n+iulLJ6kkK5oGBYnMgtyOO/28++tQpp0XbYqMsANOKRPOKV+HjhJc64VG2u7\ny0yGTDBkrwXC2tVMHOKN5I09PdZVoXeSS8s0Sq8R49NkPc1RCt4T2iRGPST+\nKDm3X6ZW0XiEtueMPRasZ0RbvuVPcIClnxYBF74ELKogz/Fxu+IObrmrEi17\nq/mvra7+39kmEorAyyaIuADTNRb9LKfHtOfXuJrM1ArJNaDSQUfU/ERz3edu\nP6m7\r\n=boUE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1qUcERKmFIGz5E7j2kDbFEdMInB7RMrcEE2K9rxeOpwIhAOMBhNDnVCEXcLzmRA+YvYXcN5Ezoj4SLFRDgg4/y9Cz"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.3.1_1602017447329_0.11606801993895366"},"_hasShrinkwrap":false},"0.0.0-0607eac":{"name":"formio-sfds","version":"0.0.0-0607eac","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"89c135a6276622481bb052cdce3398a012fb5900","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0607eac","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-jkFEMIKTAEnDaVIfJ/OKXcuxbKtRwj8xGoNNZpU/oKUpLLkGH6MgTPMcITH8JpHlNaOUpL2Xf6F8CuL3sxPUOg==","shasum":"7cec90338502ef56f681c0977df1adf64369b72f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0607eac.tgz","fileCount":252,"unpackedSize":834340,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffPMxCRA9TVsSAnZWagAAmAsP/jY9NSHuIxqFEAWVof4B\n+9N1I7+IeEm265tqEyVJCfun4CMpsdMTcpUS5/pBuJNt5M+b/15pqOjGLLQ+\nDiR1XShz5GhpFk/QiMsUVj4Fd2/6KUqBSjorHyMgiOjRVQegMlS+UotqQkAs\nB+mKEoqCN06i+Lzm2k90z8poREiQw6/KtCsw9hMywjsSfZ0CBSge2hANriKX\na3ed/3lJDVt94EbHzEVaUtKH14/21PKZLwWSxi1GRFFlZdRuckhYO9KwDgDu\nlIL02/G3OviLfN+qFrNRXtp4gt4TEBKa9YhYYR7S5cbhyK2K8KGumptmgxl0\n9Grj3CJR3QH0N31aDhdFxUd4KfjkIffYS9YmF3j3ZbtlLXmqnBju7UwT3Pwf\niiP7HlxwtpzyTjEBhaQviSu1Y5zd6rTUBj9gnH5af8EYh2gN9TGASgcCV+7P\n/VLVSejBCfq0pZD/cZxff3zf335v55mF8jSB+Yz+Fb/Thr7ZUhx+/GivOtMg\nkQgSQ9MylY1ga/KXMdVkwHYB7dy+GYVv/l7pvIy1mp/YRTUkJLQsBDUIDUWY\nyAfx1a7Ik9gI+jbx+IFtFOEhfveUHuJ6FM8Imw8WI/TQlhjRSMJEkk9rgbOA\ns7Q2GV2cnj/S8j6l2ULzSJZc5cenSyJBLdxt7mt55iEpaUscI2GHWcGUpAoC\nG9WD\r\n=vD9P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGKaBxCD8iZMeTyJt5VuPxSNVjP/Ey8eY0WBTvZWRva/AiEAgBr20x80sjgGoG3tMxPsX876kIQUx7F+zj9PAD5GEAY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0607eac_1602024241137_0.8265798620059632"},"_hasShrinkwrap":false},"0.0.0-56aeb24":{"name":"formio-sfds","version":"0.0.0-56aeb24","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"3ab9fcb15a20d389a6bc870b38c36fce81fb4a5f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-56aeb24","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-cjEKhGZzkbVoVf36DRWjv8TOFXx69Om6CkbQSrf87rsHnhVpHsB8NHv0EzBpL1mjqfbibdf0MBPPkOpYX4OalA==","shasum":"d71fe72874fec20257a9033fa37fc5c99b772dc1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-56aeb24.tgz","fileCount":252,"unpackedSize":834344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffPZCCRA9TVsSAnZWagAAraQP/AspkOqFT8uu8+hCQ0pP\nN5I+bklyUMagW1kdg3y8o6K6YyRVV96LjsP81pRfHwSY0qw4ktrRt6JH/ATF\nOqZKW3JXQhiJysP3wR5ksr3aPzue9NqIACiKVARuxYRx0XoXyzTro9ABHoZy\nM6KSg2ZyvokCNm4//IrejKlL49xoj/tuvAJEcBZQ3gVFGn5rAMrq0RmZpGk1\nrC1NXSH2V0Sc46WP7uSH05VWmFeGrj33xTpncGEIuUwoGtBtetYfPt0zTBI6\nNI7pswhGJSDyQb6u3fWjL9mpX25vcZXy/O85+uKug3mNzMjpOhgYG66w2DcG\nKkCOkw5iLgrkm/nrDfeiKf5r2wfPN3FwKgcTGuINmCBbMllGgpd3DQKvL3LD\n8G0YOn83FqKdzL3eyxrsiyk4SjCwgW4AgDgQ0KC7+o0kFrToDibfgLyunplU\n+it2yZsLPDZEC3Yz/RbtOaEDcc0N1fGcBZWCGp+CrRORrCPEIOZlnDk+Tomq\nCnObibXYWs78T65ePlH5WhHAJEgdhglrgQ1C3645dC7nRp0+X3ozUi0I2fWC\n2W3e0ntDxs9umA+Y/ruMG6oaQqCXo0V3U51Q7IbPKSBjBmsv/8if7OfLKCcR\nrBAAppPtt9/H+MirzyGEYy4GvFq21Aq0EP4mRHCaM0bUTT+5/3piXgt2efs5\nHC5V\r\n=IRsT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCrGNRZ36IGk3FLoWrBmTaqn7LDdIOGL2kXQOgk5eDLgIhAJrKm3E7KdhMlnkF1v8u1ReJlNXhPNmJjbaU9dE/Prxu"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-56aeb24_1602025025647_0.08549615138715416"},"_hasShrinkwrap":false},"0.0.0-07b628c":{"name":"formio-sfds","version":"0.0.0-07b628c","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"42c2cfd5a638623efaadbfa57be6cc604e181c43","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-07b628c","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-sPqc9lRlMATChNG6XB/7m4maHEvU4SeBLyuDVigjzCCRNZPJJB+lnizc0SZXpi/cu5FIGJkvroSc1s6EnDOouQ==","shasum":"f910f82d7a609fec826087e16547702111d6901b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-07b628c.tgz","fileCount":252,"unpackedSize":834354,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffPbHCRA9TVsSAnZWagAAHnsP/jL+gPe9q9YMqri5aO8a\nfjg+0CX+0kL1esBBQgnMagaMZcXKrAMvOF0n7OLxahAuk23GzrIan1edyNHr\ns16hV6ZiSadJAyu5COv7smEtXpHtQqQtMuQ1wW/V6oLPpQzHxhkq94JA2w+b\neLt6yhowbI2coQsFXpNq7olO79Rj05GmM41MSIuqP54DXORoujy6NikA6UNI\naN4dJ9jTZ2BLno6vykMAOIAe0vDvlvN66vVV5tnEnMXoOm1RXObckSl9sqC/\npKvGNnq2JC/xRENhVUe6jF3h5XqvEbd0AxfC/JR8MmbNhCQVBL2tH4D6XkYt\nxXMsCza3Ug30UIlf8+nX4g4AOsWCWV7cjb1n2Gu41PoP1No6RS5Iv10kO6g/\nTCs6cJHT3B0yLikGGhMZZDeigdBnJfufAho5EM7fS+p3nIpsxHTWxrTbMXlV\nVBTSbF2zVQGxEn7VbtKY2eQyQ1pzKabvWKPcx9ETnA4Jr01H8TNMdCEdIbZc\nHzgpf+0rSwPHExDI+3ZCZdwEaiYEDcIf0hqlY+fYTBAaS4p4hho3EvN5IBtl\npE7G427H3HEN2JhyaReY41zIgKMZrXQAQeC9BznzCQVKxIIJv3DP8u2VNoDZ\n3C0xR/2/txben/FGDGnLHZ2P0zTAr206eMRoopxsUBF3OYbmWxZfPZp6P4ef\nGB+4\r\n=cje2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC9+n2nS8tLVEaCAVVbAo/pydrIJ26XCuYhAkqPDHDsPAiAI2f0RCGkaau8NsWJiM3vUT/Um3jVE1CWbJMftiIkVdQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-07b628c_1602025158760_0.26590283593446573"},"_hasShrinkwrap":false},"0.0.0-bc4773e":{"name":"formio-sfds","version":"0.0.0-bc4773e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"72e0886150c96a4be508bfaa1c91e77470f01192","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-bc4773e","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ip/2DyOK9ohtIugiSZCo5lQRHevcaslAJiZSO7JexeGHoAkELiVRlyilGL/BEC+NOUbezbWNh2C4HmptGS2dIA==","shasum":"f378cd1130ae252610352540aefed5973e16674f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-bc4773e.tgz","fileCount":252,"unpackedSize":834775,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffPxYCRA9TVsSAnZWagAAZwwP/31muo0HceoQL5H2JW6U\n5YdG2c/mrvfkHosP7fU3YsuXlg/W8E/0R8PZzfgS/npArpPCqM5OzDscHJhU\nOjYbConsG1tXWnoMZ0DC99XfME6YHRsMXJX1iAsJ0gYfQ5Yeks9T+zMsNyIa\niUc2M7WJs4rscipWGYj0f8TPNZQVNdBNMWiE9mEinZqr9gmcIDsP+kJlRp+A\nsDOUd5weQBJJj0IUggg5VR+NkgSkJpLloJuXcuoo9bL3H7DlwPDPuw5olRPC\nCfPvtElcBycVZuosvrNos5AFkhXfYBRR4Vq7s9sbaD24xfzFb5APlG8HeN4G\nBNe1HM2A5QL3pb5SQyfJQEejEoRWiWPsvOQjRMoU052RNLZpT31bOSAfKvwR\nrwz+Aba5/n6T4rPKoZJ/i2WxQCcNy4Y964QZRbHAY1HHUeuUsmd9VLNUvdkb\n433v9sekBFIU7bR4TqAupMYCmT3RYV6xRHzffZa69LV5/wqeiJNPvYV5vG+q\nBE/9FxOar6ee4PJFeOhDoKfZFILeO589oPfzCO4rnkcxzg2IwMpxqqDcD82u\nzqTcDeMwTcqkThsnivv74EpinlkTMEWZVEa0KFwbGY2BysRzbkSaYhoxmnU7\nPnIfNV94S2u9or3OIS/cktFPwa4+tM0f/NxX20XlL6bNJBD7baTE9Eu7yTw0\nYB/x\r\n=dRk6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzd0UodN6uHYijzre+eJt2H+ayn6jFiapmMQd4L6gG4AIhAO6WeahFgdDAdjZ1OtSz4RvqKWS9OmWQBmmrW8drYki9"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-bc4773e_1602026583502_0.7271377019149019"},"_hasShrinkwrap":false},"0.0.0-2ffbd1a":{"name":"formio-sfds","version":"0.0.0-2ffbd1a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"01c6a5c964f50000cb075fb647c899ad12437df1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2ffbd1a","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-3/B0xvWHyZsMsfo6zmF5fxJmJYSInr+xyjTvriHojbP5n9Yjjleu7IEvILQgR/bhCXHUlPdHNGnleMG57dHb7w==","shasum":"6e8cf6600f5edee50fc7c7c5126cbdc3943aea96","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2ffbd1a.tgz","fileCount":252,"unpackedSize":834762,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffP1LCRA9TVsSAnZWagAAmL4P/Alhs6e6XlSxobKlleTm\nQOTUh+O0+Kb4GU2QL88iJekKzF4kZWF4heDvkYCxit/eemfL+1E66k87wwcw\n7X5W4KQOtzRlt3a1wSH8mbDHUf1bzpxEub4XrxT7YueqmikKQfldZI6UqDkY\n0izgdui5hTheCUbD7LMYBx3YbzpvE0VOYBzhgYDbjV33r17R6kAPa5lg/1y+\n7NLMw81POaCUzsVh/zkRIRZMi4aS+t5kV0bt/ckK7s2KRlN4jg7yzDKDSuRy\nb3w/PF6/WjksBdMV/XflFrmsFkLTp4953Rqluw3P5w4pXuAph1+wO7DF8RUn\nTlNixhPavtEb2XZp6z9vctjkQsybVWYwRjqyIh50LqWcTrSi8s7ttlA4mWAh\n+3hoQBc5YNbK02x3VsYBnVmcZNnJy6qVtqBdIrfAoTgCqQJSKbv+0eUVPC6b\n2StlorvqcAQui3K+/p9VQgPHHXTmUKSNOTly9B846XN5nNvvyicLMCfbHwvz\nsbthkpgQcSpnB2jQ70KauodWCEjPIQMgiKlRcr28xfTbIOtr+/hwEogtgE9l\n6ykuORPp//y+BW5sEMzVEMvss+INC3nPF1dWF3FmYiP8ungEMVKWK3WZyfRx\nf7KZkH2k05qWOLLNBJnkG7dGGZwGZmNPeRZvU29bRT5brR9YdiQC97Ir73ke\nfi0M\r\n=YHRa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZc8DdjcDUGMZASzWwzPXS+SY5aXogon0iC+gPFN02cgIgR3p33ZmPjeLp7oSp2MPQLrn0XgNre1ipxWqE1fRbQUo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2ffbd1a_1602026827303_0.10560159281842707"},"_hasShrinkwrap":false},"0.0.0-c1a4df9":{"name":"formio-sfds","version":"0.0.0-c1a4df9","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"3e726f15f15c309c83cfaeff1e5567119cdaa7a3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c1a4df9","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-A2EDTqgAYUhawKbykcs+QCIaEbUqRx35tG+IrlVqSY1NJYHVyULoJf7SGXZ80QVhgPca5a2BxBOfWyc7PyFiTA==","shasum":"56828148289d1697d34a994a5869b5c1032ab4a4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c1a4df9.tgz","fileCount":252,"unpackedSize":834744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffP+6CRA9TVsSAnZWagAAtUoP/0seZsBtBlBW/2Y3I07L\nafF6QwKWTYSRuRIIeOnF27QO5NTCu73aJz/7/gcK4FmZB/FVidec4dTcnKal\nlKRwMsTQv2FmVKeV5SMWEBY7KFfemTQdHLFwzni554vGyaHIy7Lged2qeiXv\nx0Ju9BKdv+ajbyqS1iPVwy2GAGXQE7AINMeKWWUQaH5EMgRji3oHJqxqL1UD\nxChkNM8lXipsgpFk1dBWABQcj7KqJ4UXVqBhkrWsIHluFW4cBK9LERUy+MOq\n0SZ1EXYjiD4yWOZAh6c2rW7JIy/NKakR+X58jf9rsTUI/xi1ryEB88/KbAvG\nyJDZ97b+t05DwTMNy4RgOjF4QtyLkorRkw3H3AcS8/cH4pkuPPpULEPHZ1no\nERHRGqV4Gl0/8LmmMMBRMbjKrkKB1QKpMdsGi6CKOZ7QU1Bz+JLxQ9o6mAnO\nX4qq/u/r4VDtm2ZM4EYgT3uUapC9R80Uj6N0EUPPPsNOIDBRS4++Qf7YAc5i\n88XGAKF5oSUszwLf2Hszbt65hiEY523dWgo9m2fnm9IU2cnTcW6NnjW9Z9ja\n+G1D5sfq+xcpRageNSBSXGyBUJ9rfRQCbPgYF/v9jiTjnkWrYalv67VhS5A2\nwIZ2dYk0TOO11Tw7QLPunJbnUUS8DhDJAv/89zTOTTcRguWbb4+QkS2Kuxni\nPLDo\r\n=Lo3K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIX6iD26i8KCVOlb45Z1Jgfi5B73yyJ0gnk4CbfebAMQIhAP/UPAmxwtLy6ltW75QmobeXQ5/ULL2c22jYXd8wLgCM"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c1a4df9_1602027449945_0.39564570183745307"},"_hasShrinkwrap":false},"7.0.0-rc.7b7b9cf":{"name":"formio-sfds","version":"7.0.0-rc.7b7b9cf","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"36ea73099df3c306d9d29c0b4ec83911c453d74e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.7b7b9cf","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-NJB0ZvCTGYav0asTzGOFkM6TIurGqllyQr+XwiUKxi0qR4ao3/5vEckMi3XO1RtvbGIpACHeQFAZtA+gSC6MYw==","shasum":"bfed9e7ead153c06b294c738b632703e3176b381","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.7b7b9cf.tgz","fileCount":263,"unpackedSize":909630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffQDXCRA9TVsSAnZWagAAiiQQAJ4tOXOWiibPUbrB3/FQ\nXD1bdCN781eAnygi6U1ChPoawgXf6zXAI4b85J0XrL7gtnYDUhcq3JLe7Dj1\nj+Ua+laQ1o/OimShl7L1UA95+xC8BgaudTnbdxFimRy36vnGw5mr/oiwewc6\npXd4WjsplXTDNDhmIltDB7T6EdJ6JTNYodVgXrLfQmQfSqcXcb2+T030ZY8v\n2usERPsbDO2RqDP7y42f8h4Pv7wMo4LXbGsgeSkspVrGdqpUirpiUno0BV55\njU5/7s+fPuyR96CjjhCnkzMM3mg91JvX2KY4i8xRGXXPzGiN+G0yl3PZle4R\nz3MuAY637WkkYBKjnTv/EJTB09RYyvQ8ue0HvjuSWv1aHHcQlHYipXSkZxCo\nylIZB6MzjRKIv5661C+a3qTTez9RFUMhhvB57/GSO9KLwAt1pd/uKIxbwP8p\n+N2VpYWfv3Xz/0ViDAaUFTJIJE2Cm8HbF0k3LME20GU8I4X8gURFbcqKUM1q\nVi7TL32bD8IySEhJWPlb+2xLl93P6EYUwGSCb4xxJG45qH4qR+33Bk42DguG\ns3PipIDDldLfx6ZAIk0K9XVipDtB2WbX5fITW93Vj2hr/FrqTgInWyYYzHR4\nVIqJsPJ2hxdvH7nzOn2XTWBCEChZYQVhiIMb1796KmrZzLGiLFTwDnCKVprL\nkvHf\r\n=itPd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeUCvJP5yKqQKCgHRDvp+K0AyDJG/SA1cOxBOlX4XIYQIhAOCmJtheMbdFxK3AMJRwtYTAxaLtffZEEgsNVdXR7v/C"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.7b7b9cf_1602027735000_0.24630836349240015"},"_hasShrinkwrap":false},"7.0.0-rc.24827aa":{"name":"formio-sfds","version":"7.0.0-rc.24827aa","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"05a7a58cfc1a3a46242c7515884af5108f7c92c5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.24827aa","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-MHDW/oOmGKJkA2BNU0wo3yJ5L+VbUR1g/48iFAUJCKRXg2eJtAl3cdUE+VqXvkKw0ei8Pmj8fpWfOiQj2FfuaQ==","shasum":"f53fd03e0a50a673667566c3ffca351db3fc8e39","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.24827aa.tgz","fileCount":263,"unpackedSize":909630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffQFtCRA9TVsSAnZWagAAIroP/RsB+mw+7gtqaITY9G4Z\nOIkcBinhuVGcg6jjQJjOO4VO7CRKj+CGbTgZ1/xjvlLdULqEP+/a6t5c0H3T\nYGsDSixUcZLUXEmu6/JwUkLYpgOYaUAvcVM2FVtYYLAJ3fPzf6EVLllSZ3sU\nYRwvLPldvrWL65PjHfVTloziQYneKjgyJIaDqY2BM+dGUv6t33ufUEpOaRIB\nPfJI2GuVD4zpMzM8TzUXJ9qwowxPgbI3bMDT90+BiDDafyd1vpQ0dGL3B3xD\nK8TZVxGiDNO8npRqYsg5uqCe2Q57Eujm8J6ieo9CU+mNoqYPDzsysuCT6jFL\n+3VDBj+FBSMsyENSIqXo9nioUYzuX0m9n1zlDFwuUN3UHSTpMck7DmDF268w\nowWCj2aNdypSTDMLkw9xN/c1CNztNkzhzp8oeKFRpR/001vfilcnu7SWMYJV\nIbiFKvv3e+SRKLNz4iv13C5E7HejA6RIyGyWbR2Nya/OIlqG4jivZG8kH9+Q\ntIgt6Nmd99WzxilYRnZ2NMbKUmrwUtwn5AgSZLKncHZYo5lDzsOixBmD0cee\n85Hi9HsZ7rhWM9YxrOb7xsij55qoh0SkC6AM+JgrXZnsrhGbA/UbAm9ck0Hk\nE/CsG2n16InmU9o3Mb47/5U+LLNCq/NEVxtNDA4T7VS4EMymTJ1Gk14NYJfF\nBpR2\r\n=UCWD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAvF10Xw5CTMYJfNfe4QJQQd+ewg5BqI+R3scdlQcOidAiEA+a4qaLKFOvEOshPqBPADaj6dxT5xcq5bv6LOVuR/j7A="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.24827aa_1602027885380_0.15882271760808186"},"_hasShrinkwrap":false},"0.0.0-8356c77":{"name":"formio-sfds","version":"0.0.0-8356c77","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"465d0445bc14d819d3cb9f29dc95ef6d66d1ccf7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8356c77","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-NlRimACRUG/jpU3LEG+3qNUFdqwbPVtgXVnR+eoM/r/AB6DV5xq9p2q/bjE91oafCWby2N56ZxPmbXWA/l7faw==","shasum":"f46fcabbe6d5a062bc4e9ae841e79f4a770d882b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8356c77.tgz","fileCount":263,"unpackedSize":911231,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffQkSCRA9TVsSAnZWagAAJygP/2+UOXBgJPRWBg/xD0Ux\nmq0aIr9aOmPkaJ1Onz7J8NNjiLT8RgbqSVtsU32g+XvnZ+aBBYdfADJQw1IV\ni4Ruioutu4MNX89dRYlKyCO6bs82Qa6XNgNXCkWLM1vJRzDy6Ct0Vh4yxWT4\n5OlloBFTAx54Iyv3C9+RVtIDeWiyj1r+Fi6LBNwnspO5fhPlgdhR9KzINRLw\n2d8QVBXL2hlLyneZPVCoMXphw5o7L1fuNKLdXd6jTEQbVUCV6LjeptQ4CDZq\n7qXytVBaRZ0R5e71zStc6LYL188/2pq2Fk/6GbF9TqyNXfj5hKLFqfGJVKQK\nmOetgf/6HKg/Qk5nnPF9XBKBtx3676wctNFR4n1+coLMMzka4j+/Br96qgQY\n+Zpork1aAi36MK9YnhYPckPFk7Eki5c1j3Aif1A7dO/57vcb+Ej7zkrk2/mW\ngj1xswn3SWPWNS6z3q9UtZZpXOO5uZBIFRhr48RaYjAF7ybxNhHJHIeymVT8\nYluQxkJIRTf+h8+OyWjgcspxznYyZIvNPvm4aL5gHnybHWZGQN232PjK90Bz\ns1RarXqoEaCPfE78l+thZGrnFMSQdqfUwcDUC0YWar5u2xaXRcJTMrbkL+fv\niw26d2JMxzna06uTNINHxrBVbwAkmvNW594C8lthASIjG+0q6SF+gcob4VU4\nOHV8\r\n=+ywp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKbzHcHq+94fkuBvtiAucvWJWKLWH+t2YAYAX6/mserAIhAMrZTZ4GUvAGCz6EDMNb/4vuNN/r1GV+wUZCxtTKpr/h"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8356c77_1602029841860_0.892174009381943"},"_hasShrinkwrap":false},"7.0.0-rc.1fb8d49":{"name":"formio-sfds","version":"7.0.0-rc.1fb8d49","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-{css,js,html}","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"66dec98054135e17c6d1dc0372c7c91509925a0a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.1fb8d49","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-XcQK8pyTEy+U08Q2sFlpbQEN47WeZ3EUNaRMgBXZUhgyfZOHAq8cp7PYLUPYN3EXFFyN+HA+s0Y+I7Ro6JDiMg==","shasum":"d7fdd8034598ad54de0f2163cfb2a771be800cd4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.1fb8d49.tgz","fileCount":263,"unpackedSize":911234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffQnlCRA9TVsSAnZWagAAqoEQAI9v1BhtM/4A2BGQBL8b\nmM9YMS3jMOVUsdJzBwh23jt+x+mQSRKBb5BlC1GmwbOrQovZBIk8Ut/KZ90q\nvG3o56zJmnVxt+ZzHYCiNP3uz4ShR6UWO23HQZk7kOqIpcM6UM0BJ2wcpf/l\ns1+REY97P4womjXpTm8GSCWn0g2Hakpf6d7MVyKzWH7om9hsiDzCB5oA2VKn\nIgQfpksKz8JV5gm3FSRRg9aKRqoEbARguCvpYPo/i6GhBjYgvzTxd154hrqD\nBlSCSvKMEdYvqfjbRoRKFEaiav9bZXI1I6rwPFwNY+rvd+CaN8g/+hOnr+XQ\ndmAJX93V7Gs54+Dv9lKWDucsGwalOVkGlh1lsCBuCvhtgr4eEOPqFkyO7h+/\nlnluuNXdaA01iVa5gdDFpy/+924I3CY6HpWCZ1u8Z8s2JfFd22RCE96eQ7cf\nBMaH6mS1E3QGIfPRFGQXslcR/xdwLGvNJtF+XrNi0H71NqdcquIB0gMgIb6x\nY/1g576t4CcxzsGGjNYY+MZFz2PGqO38DUzKBVi+6tf9Iamqw34iOw9vE5Wy\nopGte2puY82Dxeo9JdOtlwLm67473/iGkJjE6PvW8uAR0TTHzWZh5z5L2Zfq\nrnN4AbjoOZ873dY7pYIXVFySbVlPo2OtVMd7XtUXr6rDzGdW7em8zIMdPhzG\nMF8d\r\n=oybe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQUEyLWTX6pOjPRHHalNmgZyoib/7iiO+vtqZUTZ3KcAIgdZdBPXv7CZO2Ngaj+aqrRCFb3c5p8SQ/a39sfsanh9Q="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.1fb8d49_1602030053171_0.053016651837397344"},"_hasShrinkwrap":false},"0.0.0-07fa748":{"name":"formio-sfds","version":"0.0.0-07fa748","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a1a86d5c9b96749dfc11ded7b46ccde9233f8ab4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-07fa748","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-i/kqJSop2bFUqrOur1NIFxMYsVTX6hbvoaKCbrALZzWIOMpqZrU5EC59mJ11a2h+FJA/oisf6BKCCRpp5EnAng==","shasum":"6e35f1d0ba3200168ec6df94305321cfaf8d2bb3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-07fa748.tgz","fileCount":263,"unpackedSize":909949,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffiDrCRA9TVsSAnZWagAAceQP/RrzAtpGwtqO46IE+MRU\nQkj9DQNhHH0A5nVD2J7Hbzv0j7mUicAwEIS1Lpg3pGcrSo7sbNfnFhOc64+r\nL9vtIQh4Uv9bnlBZVCGt82535yv2BWEBZVvGrxGGR1k+xcqwErOpGXdfcMRP\n1IpSsjfqaKL7tTgz2XsPCMqBf2WffCFA58Htm9y7wHunWukJ9Lqq3PrNhqNJ\nnZt4HYLReUtDpayUA6kOsfnd9TN+mHMYkQYajj44vTTPJWHe+ZYyfG3ysslm\n2E8tmFd+RqX91cZXITwyr+0BMN2RNxBRx2FBw6IPIx64ywZpj0xZXvqvpgPP\nQfPmG2r4ImfltnVW1GdNYz0mdhuecG2Y7gMHgx8VZMVQJ0IbyUUFEJlrPm89\nkfBTPvz6CUhv9YJkZBfEUGxVdf588Lol/y4ltqSYRRksxZQXORGNq9Wlb61F\nJYDrOqZjkWmjTFGmntFgcnhjyTK4f/4uhoVL/YKXsJz+EydTISS3AQOU6TwJ\nd4BfLaRuS8FkaEkdf2Rn7sfSfIj9/IBSh4RkzdlTQBzbQVdV3zL4Xcw+z3lM\n6xRs2zgmYRfaMc052PKZ5PoREcG5pV8rojGOvf/IZa9tHPjOCSA/srpTJ+lT\n5pIdipC9OM2HTJQSCfvagWzFmArHbEb44P1Wy95NQruqFbqHRUnBs5GmzjxW\nMLGR\r\n=IDmp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH9v+s5lWUkN9+mFhGg6o8x6RW1NTl2TP3DIUrsLBs0fAiBq7MNOyOeQAuWUFmPlMYCP4ZOA3GpNxdbOxGrxRlLoAg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-07fa748_1602101482926_0.587538670068231"},"_hasShrinkwrap":false},"0.0.0-a06bf0e":{"name":"formio-sfds","version":"0.0.0-a06bf0e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"f6142d596580a7d360a493b2e232c9ad1cd671d7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a06bf0e","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-lgbF2Wp/ElfaaDBo9ia/wfUR9bWd/TAOsViyJWiIe+Fr0mKHYlYxUjr0qdn50rEpyv5qhNiwktd7OX/cwo658g==","shasum":"3c2a76df9b749f564a69c6264d7d4536d4aeba6d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a06bf0e.tgz","fileCount":263,"unpackedSize":910340,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffjvgCRA9TVsSAnZWagAAnd0P/1HQPO/8s5rS+cnn3i87\nY0o1Ud9wIFJEBNPmrYkuaHS7e8YOotJvAVIDRokn1/6CXqcjvA+hOLHUv3jp\n+qBogYU22jxSmE/TtV1sUvjjLIYk8P4eKUkZkoHvUQERfwEMCfTX+/9CSzAL\n6lebmUjj3xVUakOkZyAwDT33+MU0KYEk5Eg0u7LT6XC7r6xj0Nk5LbbDB9xR\n9RqIwMBaitzmqKWckpAYUunKLqMQMwKHJne9SnFLnnS4gbrgES2Cy4cURVEn\nO6V4LPUPFG+UzKAk1EzbdymIz0Y2xSiZkWZrGnHKo1l+mFlVEDU+bXvkAaWF\nadQAb84TT8XUxYkwU7D0F5G5LRY1oVdUv6/3h/mj0dIqukx3NwqcWOUnJvSa\nWhDh53Bw9V+Lc0g9fCC6pPg5kRRzrHh/+yAFkaZx/7tPqwcGGpoZxcsPdE1x\n/mPXqV/8V6u6G5Aj6sgP/OEuAxjBQsrVw9sqnrCUXKrbxRgW7YMQtLaws1l4\nusdKuPMHXD3fBTpFbsx67kI80f6CqsTAwgMetmEhOQegQ72dc00UzQyHY8xY\nV/EJTQlMMEerZx9ulxCse5HUN5uMi4D4RIRi5o2L/tQlfC4Qt2alRK9zo6bL\n9bRQI6Ld8lBBYQxdNwa9dDzeo5y9xP3aDMHLBr35oigzt3O5LvEQFwWkSI7W\nRmj7\r\n=Pre4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkf5wKBkrVzvnm9WtUI1/WczsWM7NJ+azbZVMHf4jspAIhAO2vLUTY7OywtNAc+H8KtHNu7Lxab5mT7pB5Wlmhi7In"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a06bf0e_1602108384165_0.7314488943005053"},"_hasShrinkwrap":false},"0.0.0-7b00f0a":{"name":"formio-sfds","version":"0.0.0-7b00f0a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"6dc8199370f422826334229d3820eec3bf2fe2f1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7b00f0a","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-LALWbJFpDeuscZxW4rFKalGB/9gHssD/dLEnmQwXEJOng0lnYPhcjcMaLUnxG6oFJK8/WfL9IGwoBWJvcqf4jQ==","shasum":"3d7115f318444933190b4fb1d804e4b80aaef2b4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7b00f0a.tgz","fileCount":263,"unpackedSize":910464,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgOt/CRA9TVsSAnZWagAAar8P/irSAAoneDE10m+JyPj6\nkQxTisDnFClcyBR+TntUVLYVdMjMymR6GDdiIURRUtqqSLJBKV4VxAymSCji\nmqUUGX8KfwmketoD38i290wnCZAxm8t1E86HjhTz5cssWMA7VQHbCGWklT8r\n0iTHh/e71/9eWkBcUPC+D1q3s0AA3r6Kea5xWyhXNXUmmzkaseIfrzBIn3PT\nKmPiqREr317LXzE8gUROpQhkuuiarLyT0L/ybqj4MtdRNxztaltCpGE2c95r\nuoBQx2ZXpsYp/nXjDz4r35QCX9KtmyxGmdJPMvokIvlG4TIM/aBqbK2vj8gf\nefe4p9gI1SouGF/ZLq3LI00w+2h0vXzx4SsmwrzYPdxyBHG0+HNpCRLfhfoa\nXkdmjGIlsjHPZK7KUd3p0pRW5v6fTd/MYdsuHRmW4ykiuXcRW/es40wVBEfc\np+pft/Js/cIlrqaVFbz9mcxy1RYc+J6AnVbtE6EFdL/IPDxMJnFUAUWgAC9e\nPs/T9uxr5K88vB5exN1ooKCRrWPCWgqSypIlaJGLnKreVFIZiN/jqnxT8pvz\ndIwXcG4EX3GJM6idvIwm76CGiPbQu7AMTkchLcbbIHQ7VyZ5Dk2xVSanQzoS\nXm0M0Oc4gGfhLroXT+BqrqG9Z3UoBnqAXh+aq+L6GzZyIQ7OKar7Nid+uGw7\nz8Ov\r\n=M0kq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEgdJBv57COC60OQZovK1IAbrPqg+8h2xh+BpD0dSL26AiEAxQrVnjKRWyrLC+h6N/ZY3YrB9mw0EWIQx6pXLhkTneU="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7b00f0a_1602284415136_0.67612720451185"},"_hasShrinkwrap":false},"7.0.0-rc.fe55657":{"name":"formio-sfds","version":"7.0.0-rc.fe55657","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"6d19cc96de846c9800b1e5c80f22033b8fa7c98a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.fe55657","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-+7QhuarY/LlScbttV2n9+ICydcjTCsvhWkqD3L3NkqvunlvXT49OAWYw5isVSVgwhxyIwqgzn3c1qP1gvmYVOQ==","shasum":"447fa19c64c07c850a3038f091f71f1c0926dc55","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.fe55657.tgz","fileCount":263,"unpackedSize":910343,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfh0ZZCRA9TVsSAnZWagAAcpgQAJoPYAs7T56CJh2SyC1U\naqSnAIyjM/igvgepIcxdcVBaITXztVwMF2tIkGpWpOK+f5VnxkDQVb7tvcN2\nnnHX4YbpSbKXZKWJaks+hsZ1zenwbZu/50DKnShRpPZgEQZkG45qoA+fN137\n91apajaG8orRYPh10AmkPKCkiy4YHFDwOpfevVrvT3y+L7OvaBppeMMo5h0Y\nlFSirKpNUCDFkQyCc+Au6ONCZjDmRSPHf/90ZRTM2xlLqz3qo1Iy65InOrp3\n1PgtkyLRYzl7+wbtdZGCU4+fQqlHXRUZDL5PSOPJXBWxluTBhfsY9JNhJHQU\nVqT9vDyHVb2lUfbg9TW2rhVf25+IU6fYNZZHyHpCTWGRseFtW9e9c7kCSYqg\nHGOX2HKTcT8v6LZCsZMCcsCZjLo0rDAWU9NCUXHMwNDQvo6y/p4Ak0fT1tlN\nKX4ljdekEij8xG47TtyYVi5XvqoGB2Q77uJGZyPUb7jBvsAzWJwO1TlAPPSU\nzCydsmP6qguPwxU3zVdNJ45SiuEr4DefF8rxM1i0u8XNugJFW3xDZxB8oINT\nakncxXQtncvzzFu4Isdnq9DHjsDjz4AOvszL3DF7pJnnJAsuosu2wcNBWqRi\ne0Rs14uHx+deuKynKXe63rL3t6EPyTaHJRr/JblmIS/Vge7WTS47+4ro5lO5\nhFb3\r\n=IF5g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBpEdVW1u06vHn1wq87B7eITOOv4jfgbIGrSqTNETeGAAiEArOwlnw8nn5bWsxWBCzdy6ER81gcnLSy/3KVYa473V4Y="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.fe55657_1602700888506_0.23884469298430688"},"_hasShrinkwrap":false},"0.0.0-bf2ac77":{"name":"formio-sfds","version":"0.0.0-bf2ac77","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","classnames":"^2.2.6","escape-goat":"^3.0.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","html-validate":"^3.4.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"17e4fa15531f90e6904513b5db8522c7a40936d8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-bf2ac77","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-12G/a9kXHonSEyvaiZ7LKIK0bsn7JtCModc3wHIzIXtZDYTYORIkJ5kvQ3XScepT4UuM+tt7SbzeKFYvgepHwQ==","shasum":"3e828042ef2552f38fad0df013299bfe3ec8d820","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-bf2ac77.tgz","fileCount":263,"unpackedSize":918599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfh0eQCRA9TVsSAnZWagAAa2UP+wVtTZ+/7NX/n+veLTjS\n1Q8bSWGTVp4ZC9yrsDQreXbj+LqAN6BF1Bz9TvRrE0fNNDZNjy5Iph39CRvc\nGn5qlTYadLjQ55tliFdCUTMhpS88aKQ1Ztrag26tpZ1Oth7hsuJtJtsK/LnU\nCFS1/Ywl138tWgVKsejmRNOvNBQ30OS8z6hboY0lspo9xNF6yAVtJLJEMQfA\n4sduIVjA4hvl3UBuVh0YurLBYPEzuNbznFxJ0FddD/e3pPq1OkWaXp0jNRKz\nsZXv392cr+PdHMCwylSEcEim29Y3/6dzHpmolc7iGyG4mW6VTOM/niBVuYCJ\nkGMoBjYLVdZXNY1Xak3MlGK2n+RgqIECxAyITUy1vaNBq80cjz9veXngnFxs\nbvPH46eLHeVSPqeIfb3bGw3Lv0UVsqcR1yUitaeVXufTSV3ctKwcBdGmYfgC\nt/+kgI4mq6QjinoFzSLf1v4ccQEQ3muNPNOnk1y2/8v96edWz0YdCQrTdYMr\nvfmkA3mLJO8iRPs1MnoRIsabIZa476AfxdpEeO28lGY4o6lPDxh2VtEv/wlb\n65toqG7kTHCogHqwbdEk2dhYOa+OPEllrCpT2Tiwjwg477ZCA6ScfiRf/XZH\n6OEeMy/+Ts0APktMFDe9QVjjg5R7+ZCbm70y0CbzX9zrAyGLBp0f3EBlDzMa\nwlGl\r\n=2I3i\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7O6/WIgGIIPGFJmJLzVl06UUaQP/XPqvP8sHV3aP8RQIhAJ5jRSl8dtPZmLFfb5Er7SaB33Y2xpCuXJw3+3ECePvj"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-bf2ac77_1602701199908_0.7396425814773608"},"_hasShrinkwrap":false},"0.0.0-d5ec030":{"name":"formio-sfds","version":"0.0.0-d5ec030","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"dac83ece4c6ed0d06cc93ba37aa700fa1e190520","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d5ec030","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-BzhCQRCvN+tLlV5sJtT2pxpBwbJCYzZp2dsxdEUd8TwiAVzoO9j4zPuudWuMSagIo5kL5uGiSxUzrgzzxq19tg==","shasum":"5a5fdf01adfc681855eb5e5a0f9ddbde4f54b588","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d5ec030.tgz","fileCount":249,"unpackedSize":821595,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfh4CoCRA9TVsSAnZWagAAvm0QAJG0QvFvIq1I9AQyslEd\nFlNYAToiTj4XdNDA7LNDl1H8H/glD+yOA3DwGu2brE70DaypZLutnFTApT24\nLEWWYwHumJRWMHQfDEG8ob11Id88BEfzIkL66PrGwQRWBSslAb7pFrcrJfGi\niO59BYrNd7NgUxi+HYvTff/USvhbLgiMWx16v0mtJU9G8PPatk23Gu2C+Ajc\ndCHy6KvOMVJeUVv8IqNYfQa9BLk1/XNPMqI6w6whSDZDFME760WwbI9DJjfG\n442pF7ri5GvcYz44y/p371mNzQMfb1fv7aXLB/sok2+jXb6zDnkVr0MwxneY\noFLxOWVpbIA9g/IrAHucpNyWUQqN0SQR4zRQlqp3ksZrMQTZlfDSBUFQmEsW\n3evSRQLalvQbBYUlODvfYZiUEJOFVRRS2qMccdFQS9w3cLaa/AsL85QnAuIB\nJH5HvKb0E2qBcpBwvwtXizDg99yCEWkIrrMq7xMAE00yadbvolFFomvAhRhR\nAjqYF5ktNomlRbKyUHykxNb7IM1UFJparqRP4N866c4GG34buDhNSD/ysIuk\nIVEPeqhKtut2/K/RUmIQ1jJU512KVdJtRNXOPB7JVWXti8fIYuItOi5bHqv/\nD+xWMfPXx1PAZlX2ZbT9vWatj1iWJhTR/hvnfD2Bnw/bTTRnq2+32kEQaddt\nVnzo\r\n=GD9n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA96+bGAdElGAg/KV4NEBcWKHVV4SdASjU5mo9jFWNdBAiBOW6XjWjSh9VHniW1g/CkQ0kKX+3HiVzxMZIfwGfOHKA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d5ec030_1602715815783_0.7286483444778373"},"_hasShrinkwrap":false},"0.0.0-16c18fc":{"name":"formio-sfds","version":"0.0.0-16c18fc","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"1235791d200f5d66bd44961c1a822ea869490db6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-16c18fc","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-qEc34BJ1rk8liQuJGW4exnhcMyVhF4iLbwN/kkKNShYBlXvi1bXpB3fgF5UulahAyaMOOCOOsr3pPbxxjLBwtA==","shasum":"40b7dc0a91dc9fdc0f969d7759363e8ea761d9a8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-16c18fc.tgz","fileCount":250,"unpackedSize":827096,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfh4z9CRA9TVsSAnZWagAA9IEP/0mdTQNM3tp4tkjg405n\nVca8j5g7MPvPaQkQxxEf4LJZ73hgqrPgZa5KMEgZcda2oGmcdE7t2L/1s+tf\nNUIaS3X40IPGRIfL2W44j7FuOPLujp6uYZuClgy+xxqrZbZ6LeQsDeqSWdPw\nGPhpxSoLDdiKi+q73KMWVrkSu9GiOjBjwvGhFqwiZ5IhiiWdXLMVAD+9WLXs\nWEKyMfCUzAAQeOphesWEr4DacOMenL2kus4/8f/tnAO/vUV2EawvqUSbWi4W\n8M772poZljqC96goMvs14+5NE+zAucXnDqIkb4FtqHlwsId2ESfBto15pefG\nGx6BlknGdWeetlwYeKMQhkZs8BXm4N7nqtnnFmXJ9/IDTdbLas+glzI9qVWO\nQrxDSygou5NI1STt45hhD3ypAQqSMy6FHFiyMWLGSTgscSO7Kx+0j6VJbPh4\npZz0VwdvAmHotfLOH8run6UWvLtmDspanmeM7BnfPg6nxO5BUFefBgSS3TG2\n7PQfEHWekZeIFBZ5x5xcUjM8iXiIXHD9x3shIJhDLzCrHIh+tIDdEyIEAPEL\n0/QMeD6fSUIPpTewL5jRO42uoUjQtz+SFt2XW3DLZZgshWhV7XSfo3rIauQW\npySJbjFLIdSSRG4eiHEZlJWQbOyVKxMSwkdXkbo+dc54xXjlid5VPAH+s69D\nXtk7\r\n=FZwk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHBFAvEFjvFAtHIS0mMK3u0t6bgjBCN3gy9KZgs3LdYKAiEAxU18fZQUItdCnln0bP0r8vHPPRaskm/iS5DOteS9I64="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-16c18fc_1602718972790_0.9649868370874852"},"_hasShrinkwrap":false},"6.2.2-rc.9965ebd":{"name":"formio-sfds","version":"6.2.2-rc.9965ebd","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"2abed487819261d5adeed49f16620281302c3141","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.2.2-rc.9965ebd","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Aotcnsyi2Gfk6cPyRfktfGPdMEvl2+Hh8LceQite93b/ZItLTqddZsPDtYNHRzhUfUsZTQTCABykEFdeG9CyMg==","shasum":"1918d9bac06d43474f2d7c359eba54ab591cd7f2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.2.2-rc.9965ebd.tgz","fileCount":248,"unpackedSize":818337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfh411CRA9TVsSAnZWagAA0YQQAJV4PKU8CmkW3mAcsoqH\noibzr1nZoTq9iierG1qBCo9dUFDOq0FmUvGL2+ayy+RevOvKU8p0dk/kFsml\n1sNyHq8tI9XS7LZ1UgVWx5R/q1urCeT+jNeVwQD1J6N3hi5pBbvEgwLLkEU8\nb8ehYBTqfgLUXv9Aidez61+ogcGRD3TnsKKgyifzOTIaEQfU4q7Boz4MTWA1\nmIx+lin18c+ZQzE2SzeSKiZLmoC97TflfodnzJrLO2JElFWug/eU4KwGFV1Q\n7uJqmSnfuc8IGJbftfLge4Shr7m3AQ1iBbyHhBqy1OZsxv/WKH7YHSd/Ly0l\n6rUwgwj3IO9yL01+g5k++aIJYM++qgNZsfY+I6F0ddfrmE2klVVLywNDdlBj\nZyZqgNCzdubXf4Bnn9eqYizq/S7dxT3RyasFqDcLsv+Z+YKjY2pkZfvJxJ96\n8SNTIzasfj39bCA7qnNp7CgCajH8iumGL7ZJhMj3ohMyyM8Z3521eGdjSUc0\nkYEwloiJCKKVT7u+3JCapm6AqTBvdjjM8vVwrSvpV24anqBsb2hzD/P8eCP4\nV0YZr2EBPphCol1VYW8MfPvDH2Ly3yRfmeiFy9CBGr8LOp6kVgYBkCwQ3IAz\nJzHvJ0Jm+RwZQ9TIp9T7XRQ073xpwz0lF1HdO+OedU/WUas+5NiV7IVs4grk\nKpv3\r\n=J7li\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDB9R3+xp6YfmKScgXDIuENbVoQjsjBD3Are52OElNMAIgUE7/IeVMqukaX4NmMJ1KnqMRxYdsmPytb3Mr8t21A+A="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.2.2-rc.9965ebd_1602719093277_0.7662982899693318"},"_hasShrinkwrap":false},"0.0.0-09e9040":{"name":"formio-sfds","version":"0.0.0-09e9040","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"f43c221912ccc41a7aff703643c030cb147f154f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-09e9040","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Rb0HxORTCJd2tKrO/5yIrsSTKe1VYUGMe1Br3p0N9aP7Ps93njons7Ys1HiYifuPa1LAGSnH6+KACAs0P2QgBQ==","shasum":"41e68fd97ba10b30cbf561877587343e3f70e576","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-09e9040.tgz","fileCount":250,"unpackedSize":826197,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiIJJCRA9TVsSAnZWagAAo7sQAITIH4eZfgkSWozR+5uF\nIEq8itnxzY9bQz2dk5HfH5UUxw1usuHInoLSWjSiO2D+b8tSEIoIu82SjO+R\nfyUtBEm0zThWPzBPeNpu5OZDZYLNKVvipcG1a4nH0LnqyQdOOi9rqfbAu5T5\naSrpSwny7jyNw0y4GZzEiPKYvtvnAh7EonKmW+w9A54nqenIKPZwY6ong+iE\nmCvSc2dMbxZtB4siLDmXHHqk3g1E2CzMYUpi8A6TnMlsbuVnpKeXylTAqkRc\n/StFMqvWdI4CqJp3KQwI0gNTWu8d2rrafPDqiq5vy8QVQSj2DXPDwQnbArxC\nNQYp/zAejdks9csQ+6iXdcVmKnNmNjl/jDZ7/09aefbpVVoCsyaPAwn1O/Xn\nr1gWPRFvUrRSlCj0gOSZpftCyFFX7girdjK79/sVUfxRnYKlAs0HvOIN9Jy/\nx8EOFKtCWUBcjq9ZPxduRwlOlTX4KlEw3k7qw2YYzShXuO3sTl98He3yMGTX\nG+b+KaauNNdLwXRO5B1St8yOnKioBO7PyTpKp31c7xSFulvydlPENsoRiqgJ\nYWbIvyltz/XbXyZhkeJq2OQfXANHK+vQcgjuH+O8sWquFbMyRWPZXLsckiY+\npea9N6lxqyWvR17MV+3eXqOzI9RRGhLpQu4aWqjQldkhgwbtX3CIMKRq/Exm\ncJBb\r\n=5AYI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWblqBM1DHsXFKkJQpHRDSjRZdajqULAzeCFl8LwE2MgIgUlMtkhNqEeDwExSbK3caLP+GmfGhxEbeJIjdPlkioFk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-09e9040_1602781768694_0.03860221033532496"},"_hasShrinkwrap":false},"0.0.0-fd3d172":{"name":"formio-sfds","version":"0.0.0-fd3d172","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"63eca379f35828af1dd0666e14c7a623c19206ff","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-fd3d172","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-USt6wG0pRycuc+O4FCN5kxYxh8RZ01i5lDi55Vue5oOusuDV0/B4U9UiEsHOpeK3zC929GIK4bwE2AfEc0j0tg==","shasum":"707ea4406b7f2b18d665b524e9433d30a119a669","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-fd3d172.tgz","fileCount":252,"unpackedSize":836984,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiSFJCRA9TVsSAnZWagAAkogP/3tPDVFNX4fm7/hCDSEK\njuCRLZaXqTWseGR6TnVuhBI+2QUhAwcHQGE2bqVz9S9xbQXsPVdmZRwvFN6j\nhnRbkurXD1e6rcOHdO6qMGDeAdpGsXhWjOxyl4Tt2stmxlq0SUQiXccyaLvF\nXW+JYESeCqpfQawIzFelbQwCQFu/2AW2xsFgTbzbQzSBYbLO2sdSegIZtfhN\n88YtMHnsWXxHnQYlI/NnNdrTe0fofD0Z9GMxYpYyOkUwTd+jnv1zRyb3EzML\nCw9GtUOK5Pik1nCdZc122psxW3JBa2u1Lr3hdkwQgUs+YcmrHvA3m97I4Xzw\n03UcY52aoJdzuQBD6iys2EVBkK9WZTo+4dN3jymzTy0OociDSEj2jHdp67iO\nBkkKl0B+PjaLrh5/spvtIxfwFjjQBBkxWlDjFeQ4Hq/dBIIvNen4lD6llR9M\nyEhcFs/lMv+3VNXai1hfL43imIJr47hIAJKqqJy2myP85O1t8zoPD/4BOnlC\n0vjomzgOHN0gdyyKJ5AS6Aw1fYYD4vpMZWW8nBelajk/dko+DYmAe2+gX+w9\nMonzB67FaJdqIvI+ZFdxPDtLtJrKCoLJ+ubj2zFlXiubJ904Qk/YPe2hMc9h\nb+C2hIcJzGQNLS/jbER7QzLKjUbAuEsIcvafZLiPQ0NXlmg652hVzWF4cj3m\nUEGh\r\n=62Jf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKfRNxfUAV8oIpFaAw3gyimDCb/+6t4NRqExQeEy0r3wIgCRrJeZXLDpdAnujJ+ghe29NuV6Fn/C7QCNU+EmQ/Poo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-fd3d172_1602822473097_0.1734437526412691"},"_hasShrinkwrap":false},"0.0.0-5bbc842":{"name":"formio-sfds","version":"0.0.0-5bbc842","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"28e6e4043e48de038dbc6b0e444903af985599b9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5bbc842","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-z3fmWJPznOlPFMd6vhsfa4/HRGM+Dwfflf7hMn4tvHvDr0i8u1jasoN/+dcOMACkX1/isSzAyBEGMIles/ntIQ==","shasum":"842b9b1e4f6dcc1079fc4703a35320e28d3c35ad","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5bbc842.tgz","fileCount":252,"unpackedSize":837086,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiSIHCRA9TVsSAnZWagAA2C4P/1pDoYfzQtyaTu2Y8cm1\nMk+ZutQ3Vu/QSWrmQOJ2zA2oNxX6C0i4gDVr/knpFaMqyOR4+v1bLB4pv17H\nL0pePjgchyHLOGBeNYsU58aqdRzkf/Rb3uiM+1jkAlyqDkjScf41mUnmerMz\nNatkwoydyXp2+s0FAOCcgD8wdeWlmdEV2XoQ0TJf9QT09RQm2k2dYLrAwWU8\nw+rA3+NQNOJ+Vr7bplI1PiZHbkOvW4EQLYhAyjWodhgjdrfxKYDFU5RYPyyc\nF6saOTUdn0HIObwvJpnRAC+7F4UFfHBPYLT3uGfaok9yzq8/XlW6omUJZzxE\n9461UMaX9/DClM80FWnCkfobiL/jqeoIfTShmqOxZC77zEONGZNMg5cTEEdg\nTfn5b+HX+IuUEF2sD6Bm8szKNrmvUurxdUB6oO9sHPimn/cLlF8M3zzo25LG\nRCPP6Zf/W8ZFcPqEEk4DBcxBe00crVyWNgyYlgdCzttUYjHJslRwzxp2kziB\nrzt0UGYkSEiy0SzBZlo3IHBbch9pYlZV0s3B28KDyiuNdFoQz3aVImL7VKPM\n5c5EYdEAxsUHCxKFjogMJjmefTaZhzHNi2M2T+Z/zKzqS3/BIM5OCFa5QmfU\nPeSlCV1bdQf0nnEnt+lTlpF7+05x1dZ9iIPkzM/yqgjk0aKVvUk9JubUNnBU\nIEKX\r\n=+g+t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDxCArQmaaZjhpVBWUSEZ1EDdedWNw7QKR8dEgrbsND7wIhAPmo4pz07VomYIZ3Zfa2ZD8UdWgXNm7lLxupJZp5disn"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5bbc842_1602822662796_0.8830872922337307"},"_hasShrinkwrap":false},"0.0.0-da15044":{"name":"formio-sfds","version":"0.0.0-da15044","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"22e4d7d7cdeefeebe6f0be4e1f02e1f3dc57ffe9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-da15044","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-oOT0N6C/Fsd7DDNeivK/y0OHl9hV7pwQQWaMBWD8g7cHohrH3MVze3ft9J/nqSbHUXakmcW1PLqFa8glYFJydQ==","shasum":"3793df3b3769ea87f25b60218fb12f6c07ca7739","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-da15044.tgz","fileCount":252,"unpackedSize":839655,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfieZKCRA9TVsSAnZWagAACfwP/3YSTV6188Qg/v1dYXVO\nsewiyVC6+CbBsnAfLD3b3L9lepfrfl1F6N4tCRbUvcEH3KVRLLX2MRdS/sBM\nKLX+nqqusj6le01tEsSVdDUYx0g5wT74IzBp+80yMng2J0AuWPnjHXDrvomP\nl2DSzcicJEsAE6Eek6eifv8u7hSpehesZ8RBIrUX9Jc5cs1HjuIg8D0yO0JZ\nqW5HA4Z0qVI/H4zrrTYJsZlEp/+Iin6pXGsHfdFObuXOuMRWoFY/jd8Wk8bt\nW9pmaIgDJZIdnqBDvtsl53Ehig7XNYc8RBtR38goC6kPGG1QznFCgKXu2xfx\nrofX7Q4zNvfeQb4DSOnBuAkaUlMO8QtR3LH58WTYsqOsoIG5u0X03F3bXo34\nJo7wC8dG28d9FWxja4t4U3RO8OtIsriVTmls7cyoYyHEkUdY0cju43XV8+gL\nZb2KXIyimCVBW7H0+7xTn+0otC1DGGNNSabfdsCCLotxNuurv/r+gD34BpfH\nIVk/kagd7RcjWUsebqU8DjtdP5SYeyvvFN5lrhn785t/nB26GgwMTQVOpE/1\nXIZ2dijlGk2G3PgqdD991rbyjPC7qyQiUGcI1HA4uuEGx+EfayUy4XcplVc7\nCOXOmq+C5kcWlDnOctxlkRvJf0KC5fVlDKWEqNue74BNXmaz1sWPyeh2wLLf\nM5cs\r\n=hig/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD7ykVv7+iNB9qEuvaXNpAgAtezt6gR/Z6KLuaKbf1YwAIhAIbjYVw6Nkzsktb/agHqrgBKhz75ZPsIQAZxfgqlN+Lq"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-da15044_1602872905722_0.2856173836886049"},"_hasShrinkwrap":false},"0.0.0-b2124f2":{"name":"formio-sfds","version":"0.0.0-b2124f2","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"daa6b0577cf62a7cf6500476247f03cd8747d9da","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b2124f2","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Ne18qn/5BGbCO2IYS2qNEM9O+JacXATNg7EBuWS6a9MB9IJQcfxW54Cy3tSeA0OUry3n+e4svL7ztInjRQdKaQ==","shasum":"bbc00717e65c5e73cd06543a17b6d975a57c567e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b2124f2.tgz","fileCount":252,"unpackedSize":840735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiexWCRA9TVsSAnZWagAANbwP/j4YrBUKmfxgNUNYFlFK\nHDaqboc6vTAXW3E+3WPMOIy7LdRdnhDIvBNSgQ4Xmh34xDD0eM1R9y9UBeir\nn8Cvg+qE6yBO6GlNdG6LIIkENLccZPIYgqxmS2hC9sBSzpcgG5I48UzMJlh8\n7ZuAqA+v3F3mQH2FYu3+NXu3I/wFDQ/QTzHhJbhiJ/MxhRcgSPi2FO69ru8f\nBqIi5f8o4CxDR2RglpdJ4sl7s6ro6QSdOciwfdfZ4AKT7gBB8mmqt00WyWcI\nREOkmqtUViN+58Y9NN9GIIf14A1RjWx68LfDc3lYjpyIFWH78YtFgRfgVpV2\ncACZSBk1qWIQzkW03XtbcL0peYwnauBXje3hKTCCiurnGFdXfrjVoZd3ejKA\npW/nVoU0lwIsevZ+1Nr1OuU451q/asHedzS+udbfLqv09OuyfwOj0Ru05HZJ\nrFSvXZIZwED3JQJ/yc288WBtmXtzgRt4hM3ySenIneLtTu0dZXagpeT8Z/hB\nO9o64kMI2Zx+qy1ck6HCWwlm2CRm7UYjq9x+SK1etVN1LcQsSCqljohbbUVU\n8zO4qySW/WIEFLP1l1VLQf11XtKCuEJnwRsFLaDqMOhgnq37XbzsZeI5CgP6\nlOkYfecBc6SOT9Smw2R6U1IfC7tY5X+Q54L8ltNm7WhlqWcUmxVOCRZ/N+xW\n2oSe\r\n=uU+M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0AW9i9r7JLCClpokl9T1iXE5kh0BdY824ZgOxwDcpyAIgFVC9UGNcFFIe8GXuxM12gy+ndj8053d8b5BeO8HZMGk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b2124f2_1602874453840_0.2870121365615823"},"_hasShrinkwrap":false},"0.0.0-5e8947f":{"name":"formio-sfds","version":"0.0.0-5e8947f","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"1e13188f316b2ef316fe134db5f48f58ec36939b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5e8947f","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-kL/a4j3KEObOng9f+lbGiLffzo+PS8Pqcz30I/MM8BuFVGwMQpT7mCp5Eh8rIywqfMihthQ4RqSK5I0eh8vV+w==","shasum":"ae28fe06ce4cd9b577c80befb2c8865af720a3a0","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5e8947f.tgz","fileCount":252,"unpackedSize":840767,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfihPUCRA9TVsSAnZWagAA804P+wWD+q4C0QWFAXHeMuJK\n7uzoTQW1v70Ld0E3/f+vIHx/xbydyVajJXpdH93gD9RgqiWwL4JuhDGdMVy8\n8301NPzSR5uvWKFQC4QKsgeQfS1eRZ0DpNhjZiLY2kmVDL8K4wbvfFeEso3O\nLoewMpPxnIsBDS4n3jIjyOlSBxRf9Aklcwx4IZ4iYq0yZrILi71ByaFh9txY\nuKUn1VJtJ6jaCQNxvJSSmFkONCfnGidfZ/qygtnYrmha08w5JqNbbeNajoMo\nOTAIm/+x+4u+/i6RrogZh5UaLTU0MUXf04JNtyVl5F9r0Vyy7qLdZnBeddPS\nTFcB0bPhboCl8QJNXBExbgEmqofxnmsn7akeLIZDqQLiWDy6JIFXEjYnTKar\nARQZSR1I3VekwepLreyKy2niKwa2H/BhX8kn+07e6Lqq6PPJYxFgAurP+vvI\n6JPU2N6VjfXwrWVBpwOx2va3bazxBLYsFje5ehWeDUENKMQv58tUqVmKXUdS\nfYWJ7Ljbo0Q7EIGTbGgIzZxEU6Ti5BlT4+AYqG+58/gID9mULEkB6kEFGJcb\nmlvYl9NdaWWntZbG+p3nIkmUbWw6eKo+45unhUPM62iHPsyox+kiGgjBalx4\nSAJOTiMQ9Xfsi+WitnaG+dC7u7hpJV/YHD8UFHQSuR4styzH8iO5si4Hk8Or\n+U/W\r\n=V7qM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpyeVxZQp29cLdz5k8cF5VwqT/xJPdlJHNkSReRyTWogIhALmGiJM8JRvLekz6WNbg2//54HWea4r1EYdQWhZ+caUZ"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5e8947f_1602884563760_0.3800256515114582"},"_hasShrinkwrap":false},"6.2.2-rc.c2ef0d8":{"name":"formio-sfds","version":"6.2.2-rc.c2ef0d8","description":"form.io templates for the SF Design System","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-templates","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-templates":"script/render-templates","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-templates","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-templates":"watchy -w 'templates/*' -w src/examples.yml -w script/render-templates -- npm run build-templates"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"4348d847a6f84439e4ffad028c634d34e42dbe1b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.2.2-rc.c2ef0d8","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-PWbOKsxDZnZLxrSb4g9TIn4zlx8qwSuPBRd33D4xGQtowp7vzpXXkoCGpF44ZlBoelqD9FWKsvJHYht5aEHW5Q==","shasum":"789dbd2480ef03474441ac90456627770f73c9a9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.2.2-rc.c2ef0d8.tgz","fileCount":249,"unpackedSize":822328,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfihPpCRA9TVsSAnZWagAA+rkP/RBDZXpFNxWUgUb6Lz8D\n6DdS/V34Oy1vAZxKAAJX/DFRL3qCs66dsgBO9/rnplncnrlHQ0cyulNWEI6g\n9nQky3njR1DdkDE1IgiMAJ6rgxiBb4urgBry4q3RK2LjdkiFfOlpx/gV0Ag6\ngwA2Hx8g68A6PN1w5yNlbRP6UiF9QJKJ0vPseIpPmKh+zP3Ms0DmtCEP09+x\nBbhGv0/JsbPaIr1K+JNNC/YTD4UoK6/WfoG9pxCV2CsjCNTo8rsn1bN7T2A5\nwq4cPFXqsIgzgEp6UQes7CqUFLw6PcTThzt46KVRMj2B0nYXZmjImeDn9Vju\nedOrtVRi34kgG78d3xaybPDuTk6vN13rMJKtfGep42eXttPEea85gFBq+QGo\nik20X9xwEiiDCq8Tlq2eeBMEFTDYtD1sNP7gU05M7w3INLNdG4Z3KCjXhYOB\n/AoU2m3hwCJpAL3+yTO4pN3BWM4gnvmRmQ5d5SiFHSDSjkYotj4uAl184vtG\nmfSmrtxin0lvU4/tKfCXE/kIqUqzTQP9I+X/sX+VLkQ4KnF+fq+xWPWXqvMH\na9byTQ6+wuf8faGCDX5yKXsTcwS04SI3wGvD3DXWYOAXedLk+wbpze4Dqijq\nxANF2332wwzPtRLD/rbW0WAUZ3u7mgDCmQ64JbrO3OzcXYpryEu9WI3BkAyU\nOcOW\r\n=L+X/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHAJhue9gvwjcX2FL2Vuv9QjxjxQvc0lc+MwgrYfsUVQIgYANXMf8CIh+pJAxj7YohBqEqO2rud3Oc9RUCirFVImU="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.2.2-rc.c2ef0d8_1602884584599_0.4592611567081324"},"_hasShrinkwrap":false},"6.4.0-rc.0ee5b42":{"name":"formio-sfds","version":"6.4.0-rc.0ee5b42","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"9f277b631e2656cc65704f251977e82bf648f4b7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.0-rc.0ee5b42","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-MUPwnVUOjuRJTzURm7PREcRzpXMOjQfJqVTFngaq00mhP+Q/pO04ClJ0LRmqNFDs2zcqz3tSy1TV+7B0Uy2zOA==","shasum":"433e89dfff21578075903a51a3f209eb20983641","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.0-rc.0ee5b42.tgz","fileCount":252,"unpackedSize":834444,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfihgfCRA9TVsSAnZWagAAQ08P/ja/rAbovyR+zFQMRJPf\n9iecPfpQD4VHuxhAqWtEeynE3GjRcnI5O45dxu80UdDa2Fr+k9I+A4eQcWlq\n3If6oXonARiB1unr482QroJj4+rtyAcKF+GhhkMHVOv6B//+VcIyxxOyAAgr\ntACqQ3HraaQ4ioPLdUWF8W33aXUYzAhatZERJEkJ9H+j/YeumnUKIAqxqnD+\njJYBI6haocsnTMR/HSyLaIpQCNbH0VZXiwCHdrfDPoEZkGb+OhK3eCVUs6yg\noBCfZGh/h4g7UUYwWFx/O0++fdCh0I2K5sH5tzUArw2tz27nIeeXHfO7oZGU\nPvAfUq/VXDGIP2xRh6uTA9z37db6gYgDuHyYWD8h9cr5id5Iu9ji3uEBrMK3\nGgBjxcQ49KxnPF66jG3MmpiciYg9ddiphX2BnO1JaAsp9ecLyaGfNlUysVdv\nPAiXSfNo4abIyzeFIYWI4Zqpww91ugYIqamXDOFoZ8CIoqBmTOnnSdrpA5lp\nyoBei5eASjoxtg+uQvSYcIOfH3Y+Nz2lhOOhjhZwYrR0CWsfF33lK+NjBiaQ\nj/aX82ag+5rggUWAsBqosGXhCm6rd9MTjCMkkWyIk8vMYaeiaqjyYkAuvwFO\ns/GBRz9+0ef/iJTM783SYEjmpvu50nC6F+qCVeRPUgAqpwlzdzJETWLdxmIX\n9U7k\r\n=O/Q5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHWM+bjKPgtieI6hhndo/NA3bX3KIhnAvW8L4kp8IUsVAiAybw2mQIL7wL538x7NlWHaZXl6rpqez6p70bWwyr5dwA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.0-rc.0ee5b42_1602885662408_0.24855359046925085"},"_hasShrinkwrap":false},"7.0.0-rc.4abc274":{"name":"formio-sfds","version":"7.0.0-rc.4abc274","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"61d9d58f026763828615e9dd334a268d7f17523a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.4abc274","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-w2yVE6Nt+FsLOerYyAYsNG5Fva7JQ5U26D17r/6CoOmLlTByPn7RJpA9Fl9lf/MRZL7wPHgIj0t0T/1cv6xnSw==","shasum":"c214814f6f377745d0e6d5d0fa50bf7c4b8dca9e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.4abc274.tgz","fileCount":263,"unpackedSize":910343,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfijBnCRA9TVsSAnZWagAAckkP/jBhCX/SAD1DmJgWkzNg\n8E2WoIoVyPGTfu+pot+ixzBfIC1UJ39o4qdW01DNRUg59Q4DJzqFdCpSRjlN\nWN/hlV41B4U0WvTzw5rMImwCG37B2AZyytVaD0L1nXAjLJAqtf8E3hsD4C84\nNTIzUIyhrn7Uh3XjY6ezywMAJvdkdWOiPlIbYPwgJJa/1rTwJCvsZ5ie+MIh\nBtFbPP2WxgAS5t/+Gzwr1AzHRoAr+pwafrsVvpNHMPFG0Niohc9ds9F++SsS\nvNYC3mjnKiNIQcIOY7SgGSO6GkMfqIesjdGYlw02XRMCAnS3yy3gPHk1V31k\nrYc6cFgY/ckVROntUTCjGTNFhHtmW9SoJMj8KrfNb+pLvEuUurTumACtiH0C\nGRPqpNZaYFHrgupm4x7k5GYGRSNo+oRb2K6j6u4YtgIQufAefgHq2xX2bJpU\nxzMOMhRkUo8UirPoa99H3lX46YKB+XWxkeeutiK/msGsrPv9fDmaJISNgR1/\nfjiXXRRsgNjnrivg9a1gCp0n5sg4p7bDxqx06yBKmyfdewvZde1H6daaAmdf\nOKwXtHIY8YrnufKuwui5kyKUYp7uS7oiGyYTB8moDa6VVaKz1tjA9xpwaL/7\nv8ZznQSTUdnUKEaLZ9mSHeySsLMUbQ3ZzYcZHXIhxLcU/36e0dGA6wl36Dp/\nGIBp\r\n=j7bn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFMNyUnamBfAViewM+h4Yz2Cg0MnL9qijhDWw5/n1i3LAiA7qEzwSkQLj3+av/qHKWdJvzcSd1e2BKHGb3F9hcPSXg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.4abc274_1602891878516_0.4582360263487284"},"_hasShrinkwrap":false},"0.0.0-a9c29ec":{"name":"formio-sfds","version":"0.0.0-a9c29ec","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"d89147bc0f914b719a517c5963ec30dc05c621d2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a9c29ec","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-CbjxPpERSNE6OFUUOnO4510kqdV4AefbNdygc24RfXxDugARAHuWPkYUIo3c2UovouE1W8tpCfXFMEj5R6mI1g==","shasum":"208d2aab253af70df4dedd1ee85db035b2b9c619","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a9c29ec.tgz","fileCount":253,"unpackedSize":851267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjdKlCRA9TVsSAnZWagAAV9UP/A/q3+cULsYde0fnwsrr\nV+e/zRLlurV3rUYVIu+YMMJMhHl/XNQTIzFte3an+nH/3wUD+dmWqkpxtI5f\nqFDVVR1NBI7dfB6B32l3YERThtkqkO5ib+MOkDJqkWIbnGUecpoA/K5fHOry\n7bLNoxzRGCrTh0VUmCBUb8Nr+NaekyQiPpE3dJSmqQmCmSD9MyXJ5ibVP16p\n1HGvbfe7KZsSU8c+HAf2UH3VUscUeBaRQ3LThCxCrKl4FX1uisucbLcG0MUq\ng53oRcHP9aFCTAduEdmM2RDW5Wkc4le2nZmFhIztmeiqkLKpAI/yXJEbiVyz\nHA+/87fqzfPEDcpo28seMN8twQQSknuvEQ/BKehWtc2AZYyb6xolGeGXX77W\nZ84+tb5I8o79U0jwTKx3/NHSR2MJOaROxPWIPF2A5j7X5ctZ5OKeB2mU+Ak8\nvoAqjHtN/kril0uXvtmOf6oGQKKX6EWl7EU4gsUw1kQXI2Ld4p243tlzIUnk\nSKlvk1sP5mi7wS0nhdSRV9oF+vYRHTXQHs1lwyFND4hF9gS0Mz2XJQQOzTMk\n3Y6CLfSjZ4cqfoBuy8eXDyHBEzGW2EY59nHDS3oQz8k87LSRZWVtg55uf+z5\nsoEjvTx7dJyHs0Uwhe0ghv/ctzdqPLu3FrsEsg1U8gvO/6A/QDovlTtZ/eRJ\nvxF5\r\n=kCtG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE/ZO/9pirEPJCkLRxn56vFrOCiw3rayREJq9wbJdjjaAiEAxbXSkILE8GOVLTmDFHlm8Iej3Ut/1jJ6Gpn4PiQ2N5I="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a9c29ec_1603130020639_0.9804360725719719"},"_hasShrinkwrap":false},"6.4.0-rc.dde31d5":{"name":"formio-sfds","version":"6.4.0-rc.dde31d5","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"8392a5d0a7a89b751ad8783c5802d8a91a39397d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.0-rc.dde31d5","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-WVnbCmZtBCnItau/grCCNDMZGFXBOm9qzGx9EHqJuOsVdyP4m6E6OXVCrTRlZmbnobP1jCNm8M4n+zF+15ubjg==","shasum":"87e3f5cc7b1048417ec7965a43c101cc52e632eb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.0-rc.dde31d5.tgz","fileCount":253,"unpackedSize":851270,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjdaMCRA9TVsSAnZWagAAo7gP/34DE1EJkRYnh2KRlr43\nZJi0UzP6oGiQeykSpjAQ0COuOWyX8IBp92xTGe0uWQYm3Q94UHIZCpMmMKYt\n6zpAVI/VYmOGFLvBmljWZNzYPbhpxWG6VjQFPjLR/R9xSqv2g0nUnE4+cM2L\nQlAXE/C4ETXNkXkY8m6eDVF69jkcT7m51ls6t+UHG3exiUiA9UxcLPrZj4RD\n0+4XPMaHBsZ/GXQM8VG47efX2z9AbTHONo45DWrWFYZXZBXNPeqaN3vxGuHW\nHWojvWBsXW9yFZEncgn5pxaqb1H92BBmEpBI8Nv3NM1DeYUx1mHGuNNHYnHv\nAm0bxQVAa6rt8X1IYxC2P8veLuV7fidazyggUDFGf2K1mMXkOFabu8UKF2sq\ntHYdT+oeuRLuG6EY9qVg6WUndWM6HxOQNDvDOv7FzDb5mnCG3pvIqqjQ/0b+\nKRd5r4XdBkTdEKlAGbNHfH53hSxWyta5oV571EGqR2AZBt5wKukq/7zfHDkp\n1FTpSSJLRni9hqIejgUBUwI0vrY3gjkXLPAFhY11rw0RIDOJFt92OogLZdce\nAbgrcs8WeVPCW/qJZo7sFg4IqVAdwHjSuXvwa3IkrpSj/Zhd9YHrrWLxWyq+\n8RkRijQccUJGFG9GgrUOXqsw6v7Dzxj6q6Rk04EEKz+zP0d98B/QVPzPLziE\nVlxf\r\n=SWEu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLwX2ws/YCsClbrjF6nGvWs+jMJOMaLZvb18ttPuZldwIhALCd5BWgXVHCPtp5flLSlJ7Kx/yxmAxkBoZj40NfSg0O"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.0-rc.dde31d5_1603131019312_0.4667804928385886"},"_hasShrinkwrap":false},"6.4.0":{"name":"formio-sfds","version":"6.4.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"gitHead":"bcf5966db4ba3658d6a3b91f74ea81ad51efe6b6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.0","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-olhNwpA0YGw5ieq/1PxtySOZddLsbOFHI08z3MM2rjrL+ihRAGEE9WgjHijDj/O8cYFEKOzkOlWbpkb3jzidvA==","shasum":"91d1e962b7ceb55ff941adbb8751278d978afa52","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.0.tgz","fileCount":253,"unpackedSize":851259,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjeXVCRA9TVsSAnZWagAA7NwP/15WReHJvEIJRCLNHgXx\nk4mYq+9Lqm6sETUb67vDeRDsPm3Y68Bg2n4qPnHFZTlS3rafsIp8qC0xmscD\n5C2TOw1Uq3l6ZbLxYFiq2McnCpzFF1M7ee/oq2JyepjbYdY8YGwbLp9dKkxT\nbLwnXBX/AD9BUQynXtTrOddvSNKd5/xRbN1keZSjLC6SEuQgRnv9dkg++kqN\nGEMY4gXV8YKF+tt8kZ/EObHyg177IGI5OIIK/VHvEtULb5a6Rvph3I6Yty7m\ndyxiwOR92ZOLeNCpau9oXx12mKXy6SIqmHrNNM17/IanVLPzFzr1Wv3ynXaj\nhUKT5J+A95EoZGfEryXs31vJDBY1FA3SKAh+JAd0g0vAhLGBhGBX8UAcVgS2\net9DhZ7ECajcoCwiW4oBkXSNXpBrIbsFVt2koN7ATb43xcvNGm3XFNHAW8yA\nQcS48aac/HjVOlmLKw6kxH1Sz2FU6ixgHTcvXy/6aTPMSBtyzl75bTcTVnjR\nFTA9kvxbREuX1hnSpSVYv+4++iDb+DtQRMe++RWSQl7HzakjYPsS3dr/GUPF\nPv+SFtjEU940Vu8qhjH6v5UW2nF5XcY+BtpiTO6RbGI2EKH1eLQs38jllfoj\nDwSnKHjCvkFZIvcHvJa20XmwFNWyfshG7l9hypWWNHPpr1oNAi8M8WQREOed\no3j3\r\n=uSLF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5I9b5FfpcexbbmlNqBRpRqur5OFV/vYN5ZuwANSmXdgIgQaOniGUDHd0BR+O6abUfA4zeqGYR6fzSLIqp+iZWhQo="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.0_1603134932578_0.7865050019066675"},"_hasShrinkwrap":false},"0.0.0-9d2da3e":{"name":"formio-sfds","version":"0.0.0-9d2da3e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b3d53b50ad61dae64527e0459793d9fbe64d15c7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9d2da3e","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-LH/Y+n0Qe1UjHXwlC7dSwdjnKj4ZD/ZzeG3he85lUJV5Ld70pngjpNbvjGJWdq4/w9IZ4PTpf1+C2GSuEm1NOg==","shasum":"bc38fd7b5ea2806d733c71088eed3cdafe4d8e7d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9d2da3e.tgz","fileCount":264,"unpackedSize":936503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjiohCRA9TVsSAnZWagAALQcP/A9Ovcr6p9hEndZmevpp\n6ruvoSQvDbXga1etejylXkooi1TAtyArWyqA/O9HL5ezQNFWrj0XJe46gkt5\noAT4QGdq/t3oApyamhKESOVRjzFH451O6C9eT/Qd3/KS8eNsjOEUBClFh4Y3\nz//zMY+PDl+ZXbCCA71F5+iRhnRmX0eZXJNndniAXozp8AzkHVKPi/AQZgPX\nyQNTD+k+Hf/1FzoQtgbqUfk5dJvLGwThR/k2yEeKQxVnDZ5qS/dGQIgA2v40\nFJVULAjs9rjQ3V2BMqsIIQAXMhg+Hh/a7rYGSojSZIvjRqrbjCbjoqTdxj80\nCftvEC8G/CtvM5Or46ZUditcisYhYc1OjpnpyWeJoifD82qLA5qyRazkBli2\nPGcatl7l8L/cw7tLlad/VlV7mi7ijTvDj7PfDU+z+iviFc7usZKGKJU7iatJ\nUnqkdrtfbPVyywLv71gyotdqmdutoRt69k5f2p6bWjV56i+nTW5ZPXrZAWSM\nGwzFzOEajBYZllrjcfGsfViNV/HUVNX5/MoG74Q7eXISnnRiv/3WDZX+NKQi\nggzftetW/BLbUrVPODzH0xsaVAZTAAobzNo9Ffw26jfvL1U5KHiRQJvKAUi6\n0Q6Jk7ydbTa10sz2yTw/hlbiZuPnFuhIcwLHMN94RUSloN5rUWdpOwBanbNd\nXGdX\r\n=bgvB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnl4kgeDlFk5UUBkTZ0wLKr3yoO/bYnqU6RHQS0KhFdAIgXie+PCFyefBOhbNnSlkK/Okd31PTytwHE86lyLF4lfY="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9d2da3e_1603152416832_0.17984917363376285"},"_hasShrinkwrap":false},"6.4.1-rc.9b074d7":{"name":"formio-sfds","version":"6.4.1-rc.9b074d7","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"f89b3ad3cba71d394ed2a1657f2baa8e8a59918c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.1-rc.9b074d7","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-APoQ1f4BF92cOPsdgBDqll3YVamPCwvMsD9pihso7XeFXVNVtojm86RsVWerf+mW2Bi/I61duE9ePo/jqdul6A==","shasum":"8b3107b3df80d565a33231a59fe9b5de7f09ec60","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.1-rc.9b074d7.tgz","fileCount":253,"unpackedSize":851293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjkcvCRA9TVsSAnZWagAACRYP/RG+LcXflm+esE8T39JD\nwS1pXM/fiOMAWb/OwcKH2ZI6MTHA8AMBBeUyZa8w+1jBsVp2gPqyJafH853w\nS2yrLsVXz41+cTm8sOrTmNICkLQvgYM9lJAeweDUdmB36xf76IXUyriwWxOb\nPmmig4AjiYSkOYA6oTrzSQ0pZqaqcIMFMd6KWBZtOP5Te0ow2OCR2NOJIrFw\nDiEIuHx7wm6HRXymg1n8W1sFTJIQIAP5zjdOV+Q1r8EmPHJf0ROWE3W0Of7x\nEIzjvyVMDA1XzV20Try/iJsjf2jOcDEP7rpdHk3fLyiR8BmGklYEiIrgjNXZ\n6n1l31TTenS48F6xub7EvIak/Nw+SLn6lkivAUqxzgNwOFJwENXMIIFuyUxR\nH03IfEwjatqetgEZ+dPQRsXKe1oAj8by6QTgObVPJOVD22psJX2/GrAV0H8v\nMbYkvRBobkw/3uGoL8LXeFxpC1Jpc4rVrBLYar0JNWgmSdKq1pmqWc35BLVD\nrBDSSy6Kr/tWFYaCWeNmFNAGVIL2KhovQqzdtae5QHirwjz3V1UGhoBwVqOK\n/pYWicDR5A4apuC+YNyDd4IP/jMkq5SyJH2F94Q4zdw/rENBUBUMq3uWXMkb\n2aSNkYYeu8CMwiOaOv9Qi8H97mplLbl51eG6pkW4AhwfNaF4VMZsB8Zz0rNs\n/PSt\r\n=HAsr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHKgDL3dS46ujO4qLUrE7ERb6IWtpNeUopqlaEZVIzRPAiBn38WWVq/82lorPjc/uYgJoNRrZpZ4UbMmNqVmpHy53g=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.1-rc.9b074d7_1603159855162_0.5416499522754386"},"_hasShrinkwrap":false},"6.4.1-rc.4c9d45e":{"name":"formio-sfds","version":"6.4.1-rc.4c9d45e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"0b8c3ad06d6a55fb1afca2d6114e2022b6bb5d9d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.1-rc.4c9d45e","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-nk8MvulFTeEzKRHoEtUX0PZ2NNH8AoKwqByF+YBZwnsiIT+PcXDDxAEY0xlw2M9n/K8nOXCuDhMwM8AmO92XCQ==","shasum":"d678a7033ba941f17bc28c51c6aa1b179478d53b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.1-rc.4c9d45e.tgz","fileCount":253,"unpackedSize":851293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjkdDCRA9TVsSAnZWagAA3TsP/2K5fl4wI+xAiJMso4NG\nqBAW15PuSSH+E0jawRo+ov+mfv1XP8Zqh4pP4NOHjE5Ww3RL56YeL+lGWz+p\n60bTfO5PI6KD1MlGF+K58w2z2XOBZNQwsP+erX+d4ClRxSvJhnz1aqrPXlqe\nFFe+c+KaBFU6gNMYtvpXUiB/C3BFy0ugfYSPrglWiFHJIIfIDuQnPDnymG7m\nwCjOiIowf+HP+uHetRu4yQSWbYJSAGEWCBhUufRegmRbA+CVWN4O+w8sd632\nQCRAU4H563pFcjn7+ExOyyLRjmyGh8HtRZt0OHM8OLR4XQz7uPyAyEOBotqq\ngKqtb8a+jZMpo0XaMeRdK+p39Vt9hSTI+YMiAbaSyoNigonNX6EMC0gm9e6Q\nhKsc+wE6xeqw3VJzkghgp3Lcb1w8FvBH67I873vFF4IeLn7L+uokjAocn9Z5\neVoq7P028YhwS2oIPPZ2QVpT/uUVGK5C783SCPIjRz8wcguNCHwzWNzc6KGO\nb2AClbuwyBf4XSRxqt/TKoNozn7RMjKFWHxoaFpDrydtSQ7EVN20UwwmpWt/\nLBnK7YdSkXVu5SH9TDTFOG7Rz1yrzdojZ8mkntryKFOzwDNO39F00oTSFV2R\nOoiXJxQNqffIQV7QY0pSnSNKlwxKc/3nKy37ZZJCnFAfniSZRx9efyUfnhVl\nU1TN\r\n=igVx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFY2Lq3JfvdjKDa0SPm1KOpNnqJxLsdU2hNU2IHAY2KQAiEAkXVHFlx+60i2Eoz9FbZ3sCw0vmKmhEaj2ev/kA/2O6Y="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.1-rc.4c9d45e_1603159874441_0.008658695090347335"},"_hasShrinkwrap":false},"6.4.1-rc.cb51f51":{"name":"formio-sfds","version":"6.4.1-rc.cb51f51","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"18532468143d6e26459a2b32db01c95c04dea1ea","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.1-rc.cb51f51","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-1CRm9F8/CJ4NNtjdMKVUT29CkCKfwegRFLxlTJ1NdlXxySf7oLbFh89hVsOgjuqOYKpz+Jd4ehsyGqYQBypbxQ==","shasum":"40b91b0f47b91a2a1f1f7a3e86a16237ac0a546f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.1-rc.cb51f51.tgz","fileCount":253,"unpackedSize":851335,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjkqeCRA9TVsSAnZWagAAvTQP/1mgV/pSmh5aJWdHW/TK\nBtneovV1DC33/3agTFjRzvGTAx+kcq2ZTHkla1y1MUjD+bmXCMkMBar4dmD6\nU8+Q8Z/CkdAWFpfkSiUiVhTMS57N9M7xZkBXdN4CTXkJZigctDBvd4t2fDp6\nrYaAG2/P0pSWwQvGE4IjNivX0w03oOtjh+057eBdoPLyttBAOAei6lFaUNz8\npLWnAgHbswREmDW7VgqrErcZ4vI912WKnOpUvKLVnJc46/uPAQlPpjdTDi4O\n/VShMjGvFtloC+OISFFl8t86wJjsZF34H0XDLmhLtr7aRE17+Cq+91dvG/9e\n8QOgc9YYxpAmlGgzAalHzK4nd2LIO1mdmrXq1ZoIJONMeb6OolxqeeFXt0lJ\nBeZKNmiuK7yojhijJijWbR2wnvWYcQbbbVw9fqpd106bYmTNHzmVrfODVzGU\nu79GAjGKg1lOoJoTUEYTNGiEc6VOP76S5Qfn0lVwsK/0CQjsxjY9wNOLDTF3\nut7mZ9b55mcka/VwC9xmo6xKICQ5Lj3aR8dJO5LjeWCOUjgEdmwwJNgH8X8N\nkh8scrAvEbbaLPCtaIL2QiizL3zObTrpe1piGFF3mTjVf0oxrkJgnbJkt7vp\nTN0/UBgT75b05mAdKwO8Kfj8qwCYmmwpBJfqendUd/R4hdkZh+1i464CYYfQ\n831H\r\n=VQuJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF6v6hZi0maBSDKoz5LMmBdfVbF3dIwoWd+sYm0vruRCAiBxvHEXScNLCAMDbMClpICN5NmgK9UdOOYk00otjvv7Aw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.1-rc.cb51f51_1603160733460_0.5358313877069045"},"_hasShrinkwrap":false},"6.4.1":{"name":"formio-sfds","version":"6.4.1","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"gitHead":"01894abfe1ae432051dc09928c288c9b3eea1a12","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.1","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-3n94tVWIft/h+9NduoYEKg+T8JRqlVblrAO1rWRAfeUrGZzXYMk/AJWezwavBR98yYgix4kVUdWercvqj5u5qQ==","shasum":"4ce01b0ab9017487c19a71f14a190b2b8bb5045b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.1.tgz","fileCount":253,"unpackedSize":851324,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjk5ZCRA9TVsSAnZWagAAgmcQAKAtMLI+FqimyvKJVEKX\nrj4r4b6jE3N+Kr7bfLH3raqn6TBM9jSavynG5Kja2jYQzV8jOVmgDiKPKTq9\n20x8sGvcyFVt4SrapcvsI0giQnSM9x87YdVdolUzQQCOw1PZx8ZRVMLGMru5\nQ0dQPMlHz0mbTdvl6e0q4osoZF3pBNlgerbE0T1qJAzjMFYXyehCTdYzYNP7\nvS5ioQQJP5dumHFTQ/CrcmAopBAf498nXytbcAkLvEAjGDy6O/fZ/2E4xNEC\n+jWcyc/zp89a3JPVNOXMAv8IFxvpROFwkBVRs+SuRwHCZERR8soM4i1hUJ2Q\nYWwGPfcwAccK+RO89Aqu79ua9dQKw5bAZX3mtFk2+fWzvFSkfqtADAA1ouzu\ngtB/4GPTFUibQ6vI3yTZPOYaaI/RhwZKjzvvJS2m5JBesPkE67TrJzaADAq7\nIojumE+hphTbN/TcatXCY964E+e2POMTvQKEyXf+piDLxDR4IuEqXXJF945t\nCxzcCXFVp2uvuQ9u3tObphdAMA+lf5nT9C/uArXDWZKYE4DggD1Dfi2wWtcQ\nwv+uvxVswKsjn2JBpR9sHhIKpWXB+I58MdmsRQ1eeyfFAx7/zNktRrp1qCCv\nPK2qHIF0AVvcVv/SLnZgW8gwRFRP7c/SLu+XFdgbLPkh/Rp7048li0t+JX6D\nCi7g\r\n=G1Tc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFboqWHXKNnCdqeFIwkSum4ftHqcv7B6pVZRDldl2z25AiB2i3FFz+8Xk7of+YY9RzogHKnoagoqveDJp3Bf3MvM0w=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.1_1603161688814_0.11255217985902544"},"_hasShrinkwrap":false},"6.4.2-rc.fff262b":{"name":"formio-sfds","version":"6.4.2-rc.fff262b","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"68805db1ecbc033ab18e9f966d8107a949d29fbd","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.2-rc.fff262b","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-mnCiIMuCtZOw3hnFDp6MAZx8z7Q1in49dPLuJ0QXwWg5299rCFJLnHHruUnEtJfKqcwXBWZ1bFXG99Qg1TuvGw==","shasum":"9a3fcd3604ac89ffcd89b931c8e47852f22f57db","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.2-rc.fff262b.tgz","fileCount":253,"unpackedSize":851552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjyO9CRA9TVsSAnZWagAAVwsP/iPOS7hsAkGzdcMkPAGU\ndYqi3pLkU148vM5tUlBKw750BD+anLF6w3pjBTwJwetEgmLHDF8GXknNLYgw\nnHYip/Xs1merBCEsv6NapfSuNznuwIzX4lSkaKLlbF5acow1AI3HtMgjWmKX\nEAisuxN32AYGlqlvvSsKPijwbY/ixJDTAMVz4xgWckO0uAGXP11E4Ic3AmiI\n91UhRzoGdhsxM2dFo7K+GLF7prQS1+0f24fNTm9yoOTO4uncdqCJ/Ni3706k\nfGfXU+ZH5A0iDCHq0vHlZ+lWbxtkTz7denCjlXQrFU0XKmZ8jxmg829U42Ep\noTve/I3WGUWO6jIEdf8xJNDzbOaAsy9522R75CwOJ1oGO7CH7yVBCyOSJW65\nWbdE4vVZ+/0K9s8zERtn2Lns5ajUqlTY1fvu00O8bPCTxGRSMT3BGjyTx+jt\n+W54fohNNQHViSb479hgU89IgvSx7hNujUWqcUImSc2xnNksO4TItbXgGRPi\nn0sJKbZp6VxLMsz5n/mEP5vmUkm/cJUillUgHPYLei5lTS+5BilSt4ga40dB\nes3RGPswmUeCIXKsq2kruMz2v43XIZBk2q1XhtrySPwyvkio+cna4GniNP8m\nzw6ROD0qQCqQ+W45uPCIwqcx4QWktIZ8k3eXFTSChITZz8GFxy0s2QyQXXEL\njHgO\r\n=ts1o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDW1cNJEk32SPIo6Z/XtaPDx/SDilnZ4gHIt30LhI4yOgIgRv3yIkRCTojiChPlz7C0jEWQU9Z2vrkIoy0yLl71kFQ="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.2-rc.fff262b_1603216317119_0.5923012480827221"},"_hasShrinkwrap":false},"6.4.2-rc.daa9d65":{"name":"formio-sfds","version":"6.4.2-rc.daa9d65","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"b81e4e4bd2f17b1d7c8b736706a2a27cff706aa6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.2-rc.daa9d65","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-omm8DI//xpiIippslPlJCx5Ar4jxjq2cHX8197bKUocl57B+eXPHKY80gIeRHZ8Tphm5xgumbFI53QCm5mDRsw==","shasum":"5390fdf2af845d04c83dfdf9a8ad1d9b635eba38","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.2-rc.daa9d65.tgz","fileCount":253,"unpackedSize":848717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfj3QxCRA9TVsSAnZWagAAjBUP+QCypCH44HpbE8jvPfvL\nMSa+gKBkC+nisqQU1okNVUn+Kmn9jYf8Jjwd2bEw/a5ILeZ0bSWvm9bP9+z/\nhC3h3UpzDkf2KijggT+2Awa6uRYynReJZIBExBpvXzHHDndQkMtJqLUPF1j0\ns5h26CjnG7MO7HOhS/Cr3b4/U/F3eRIW4rA5i3zg16ActsUE0Er/4+1WLrSK\no4sEcrQtkGxttKZJdHIUEDo0u4mXSJMMdEBDwhC0pQYPb1thNSw4UcqQo1EP\nhlD3R1FYCMpxZj3CfhhtthF6LO5uZ77CjmC8p8J9za39rFGskvxsmOLaK1j7\nueOjSm5KQDwYFnKBtdJSHxq5Q6DwU2gcmk6mSqhTl23akW/wWwWM6/KP4JGG\nMRSJbDBUqClnZjD39mIawSDQdshQldTk55zBiGKQHYNOcGH0t6gY/pcd4qQP\nVGwSwAIj7NiLayIslfGcZGFQZQp4GREq1HwZnBm4bEnihBHcFHhab1iABmfm\nbHZTXux6k0sCRFdK9BG+C/0j0jz2p2piVlHX9x8dfmEIES5S6rH9uxSxJu7M\nEpEVQGSNkQxtuxQld9objCvGLTHMKQxUEk6t+uSSTqfPkWY8ZcvgHRKeQ+no\npYO8jFgAtsaOk+pnSOWYiBc3HShRWTlDhIBVNosvXIIRHKZ3y53DHsmwYbAN\ne4eb\r\n=v3Dw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDupJVxKQoi2GmsQZpjJf9wOi8qU1nwyZ7fdqEmzNB3wIgB1lNNbVK4BuAlNwdMGIrhYfkx/WnrxZLgiSUaIRsbVk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.2-rc.daa9d65_1603236912373_0.16484476903023282"},"_hasShrinkwrap":false},"6.4.2-rc.ef285c2":{"name":"formio-sfds","version":"6.4.2-rc.ef285c2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"e6dddf32c7836501aebf1fa361ad24bf29fdaec5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.2-rc.ef285c2","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ON+4LjnOAsaL07XSH4UoBSV4Nx7Ud+xJC04M3iZatdvIngvGPR1KH33YcGkh1XmQixfZhMR/aiyxhjtrUJnnTg==","shasum":"7c6aa5a851b5cbbe0cbb2df2d61dcd0216475dae","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.2-rc.ef285c2.tgz","fileCount":253,"unpackedSize":848742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfj3deCRA9TVsSAnZWagAA+JgP/RQC0pEdLDEfdPYhQeL7\nfEulfrJX7RWoOclsVPBMj1E4h1l19mFU0C9hTqKOuAhyv474fo+m1His1wbu\nsuJ9nNCC26qElF+UNxqVGSSNEe82Wc93f3QDkAYEqALI2Pqg+iWKYi21lKFW\ntV5OsprUg92sEw/NEDn2AU8oXzbljgkzsByTDdezIlmG6vsnvFMkBXinwUeo\nP2x09GmoOZ15HH6sFwV34WoO/hprUEIlEd9sFjAVG7kFP/DKiz/GS4r0ekGl\nyv47FyGPMF0tdaMKDYBZzj+jvSVm5lQzxJFtnZqQslk7BbOZjX+sKUrp3gJF\nm0lz02Fb1lZ6dPYyD40cDJWYag1DdDMYSXuk97LIFkpNTOd4QC8RWtOEQkOz\n5JEguwTiqRp97CQqOgV74Y8sEUUjWt2SHZ9Fs1+hsnMUJp9bY6gwJAPKFlwy\nM6w4poiu/QFdRz3Zu0eMGFOS4VZ8kvynq+IrKKVuLib8ajMYOkfxHP6GphsH\nvzwkuJCB5cYhbuuk5O5uaZVG+Rp0ziuM9ZIaiwLwpaX+FJiU2KukARaiLGr2\nMedwbNxggqhrA55oplysS6zaTZqEzc9ZcO/qgOlrMGA6Uych91mMH6hNh+Mv\nhpxFuwHWqrevi6+KwB+23bmUONBKZNBNptZzHPAg0P6lx1rs40t6uiTBFxDb\nBZRz\r\n=+dJl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFqLXEqOx0bpA/FQFWg5BVr8lpeB73mGIuYOaFPsGw13AiEAnWeXh9T3Ifrn4Kd94Iy/Lgb9j7gKklzVVJSsxTvhKRs="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.2-rc.ef285c2_1603237726127_0.8482112981681731"},"_hasShrinkwrap":false},"6.4.2":{"name":"formio-sfds","version":"6.4.2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"gitHead":"0c9b7ac0e5cf428bd11d6766388343347cd9ba0c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.2","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-otCYWlYhN9qAyUrr4skHweX8+8epof+pwF5eaJaVx2Nef+XX3nE6tVl8KiVoN4AN+ETHbVtg79Sql0fjRFBpxg==","shasum":"016827697c70b3977f925b4b052374c488452880","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.2.tgz","fileCount":253,"unpackedSize":848731,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfj3/qCRA9TVsSAnZWagAAL7wQAJG5FTufN2avxOByQV5k\nPOcropmU+5nb4+4zeZ2qKPcueRjfHomckBVvZgCHRgr3n4+A59Tu0F3AELyK\nIXFUrjPz3mi+eND/mzxKJrV7hV5lsiVd3rYlQgc7tOdcCHaN7Het4Wb0OPTv\nNe/XFXjy0BpQ+DB8dr7VjqXUpub3RpEBWF2NLLITR1eY+erdCGwyF5Vg17RR\n5YF+F6mWDdsb+njuSi6+6wZZcprryjnIneOOSMclrr+TuDqopVMEsVVPyhW/\nGwHkrBJdbSEYYBOvFvsj2/pBtvIb+j0NsZyIVqphk9wgy5NLBDq9NG1V/cgl\nlYHfKTioiQccChDQto/TsoLCg7aoHpOAjB2D0GN6ZuL3NOCLuvT0Ry7h6zFD\nV3n51AhprfTb8AhZ9FmqbNIgmnmlJ8Y7o93P9QVLlkiJ8xAFvtgKbeshZGSS\nyi6TRTUm6Rf0psLEEO2L9q7Ydhtpj+7LJXEKqkYBVg8WhGeDpVDoAbtxHcUH\nrp9ANxHX9neLtTRRhxTbatJiFictnHcNKyCaTG+zfS7PvUdcUCmsLZ9bctYM\nYdvz9CK0R4ZFaUF6MlOLN4E+ZMfmhuqTRExaqIryxzl32qzpY4a34dMqPnGv\nCtk95n/QjB2elFMQmhENDLYwZrX5XfT5gGqW/hTlJc3v66jkzH9x428s5Zvt\nywZb\r\n=t3Go\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7Sz9oKTwJGBkUh6vc+gN+PXBEmyIIi6NYjB4xucetmQIgBN8HWUQLDoTsV5Ket7S5kKEIQRxbQ3s+wWM5HjMIhUw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.2_1603239913912_0.32550440124070423"},"_hasShrinkwrap":false},"7.0.0-rc.70df586":{"name":"formio-sfds","version":"7.0.0-rc.70df586","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"80ef26977e7014f7ddd2d58befc3aad83e49ac09","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.70df586","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-dGM5KA+mKddwP17IaJVHiCFRtahA3zUNeqyN31pXIh1I8W7qHOVC1H6G4bNGSNwAVIuoSYchkre8/xDIyzC0PQ==","shasum":"f0215e0a1bd25e825b9404de6b1c09e3366e43e4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.70df586.tgz","fileCount":264,"unpackedSize":936506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkfeuCRA9TVsSAnZWagAApsEP/1OK4mWte9kZy+CAN5Lg\neajdu5fjDfNNAycwwqj6aad0RnBaoMp8yzi+wQ++JsTovhDY9BE2/FooPiLZ\nkIgU2w+ViMTwnb7e9yo73Ep3Wj97ktuXMZXk65rczIcCX+OXpnVOJO+0pkwo\nwJARSZuZ5AaITIOjvTB0O0kDgc9XG+51bKC9iuzd8QiL9aWkrsVgltddzRjo\nJyqa51nawo7QRHZnZcykr8cdwu5n1FDfCpJhRCwMccTP97hVkuXHyyRI5RDC\n0jVU7jMWzFsPid6xrN5Xo1zl1DcTqp/jUmP9woh+62G76hB1/CknOHMDwuaS\n8t5DHZQ4nyZOrTxbzWT2IoWL9VZ+k8cMn8eGrZsu1iwIQ7pAGEbHBESb01Iu\neMwhixXW8h8dU2eV5LyabZNHuRcw9rdDfYFsQtFVEunnJVU+1gH9LEn1YtAW\n+V7yZU+fbc1XOpqmAGaDx17kis9yZi6XNquCoOKSW/UsWuQUlH3Hq9nqpH60\nX9ANTYojaArF7uW+6ZlUvNiNYC3Lqn/UEyFPhG5tt7OgyZHoWieWEnD+oP6I\nl9m2a0EisDoBzQWrI/yAyxKinuww+s3H1lw8B8gVxVQ00XA1YUEF2ueBX4rU\nBdJurc53UmvZl195duotISiJyLUrNRvECcGjMLfiuDi8X479nkhDu3Ng2OxC\nZmTO\r\n=8Hal\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8tkc/ccyM5dSfc1T32vM5wdXqcR8HqArz4bpN7O1PiwIhAPxnHTJ2sxg73Awk78sulIM5KjexGUhkjYvsuPC2Se5y"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.70df586_1603401646279_0.4011179861719463"},"_hasShrinkwrap":false},"0.0.0-0691aed":{"name":"formio-sfds","version":"0.0.0-0691aed","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"760c74034d07849968d2059d67eee253ae5c9bd9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0691aed","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-G87WG2Q3RcCD7g/aMFyIX1YRkC24aFQdFYG7noPhSukMphkvSv3rGBvi/b1U8ccQwXhsrLZI6YcuRu8cSabbqQ==","shasum":"53f6aaa5f365b302170da7f390e4e6744e298433","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0691aed.tgz","fileCount":253,"unpackedSize":849682,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkzQOCRA9TVsSAnZWagAARc4P/2fKrq77cYllBwJy02b4\n+EZa+T9OAUCEE3QiovN0vEAAuH5sNu9kmDmaj4ar3aJoISs0fvzV2fo4fphX\nDGSsEq5g6nCfJYOM9AqMdGNpejXL9v5qUBScI223XQ68VejujD7vA/VP205+\ntRtPmrQiXRiWPlM+ic1FAEcaAWLqpPFi9AF/InorSZsRdeElOXup9QT1gavw\nfYp1Fqxg8F4FZ0Sw6N+34vGRJ2qJlg2TXnxzKXCKuafiQH4TnVRgBVbNP1YU\n5o+52oJW2sFejdgoQz/qUO1+xS0F1/tH85zAkgCeGFnXFQ3CwrwVX0OY0lAB\nD0fcgYrncMI15wmDc8hlarvftFO/xGwa+5I1B5OgMqOGqoyisPO5kRdZ48Bo\nKEZZPrSM+LtnpGL6XvROThwRouXJdq/BpubqW41IVjJsxiURbZgJaZKyhR17\nZ2ODkN8/bm4lylp4141qJLa7kSTmEY0txlzrghHByWrgP4/sONV93bqGUN/5\nCO7XiWk+/h2cHi3slqNFEM4fbCjRcj2GHZJJt9W4qgPq3/amyjqiFkIstPmu\nnpOW11f+luG2+F/cl4L1lsGirMvxjjsKe6LsC1nWhNS1XUDS//wI0u4DnKZj\nj1Wo586wXZkvzAn8W52Umlb1Vq/2B/OFLjlkegJJujXZSd2+g448PxmX8n1c\np5Fp\r\n=Mawk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC00XEKFrWG6s4XakY5sJGJq4+INnnhReOgbmwyqNsUkwIgbki9Lr7in8LpR3aUuqO7QunwW6t7rGMC6I+hjaqaHAs="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0691aed_1603482637335_0.9977233624842983"},"_hasShrinkwrap":false},"0.0.0-b79c3a7":{"name":"formio-sfds","version":"0.0.0-b79c3a7","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"31806eefdef360885e1bde70e2a0596829bb8cb5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b79c3a7","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-9LI1ec2sHN+0fxQKWPjnpM+xnT6jTr8iKxKJwt18q0kWPWpXYf3eVK2zPvNFzjaitLoEcMoU4mpQUYPGqEXv/g==","shasum":"be9f6995f4e00c0df989ffa7bdcde20eb209377e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b79c3a7.tgz","fileCount":253,"unpackedSize":850638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJflzsCCRA9TVsSAnZWagAArKkQAIJUFaYwRkKS0n/djQ26\netFTyKPyNBIcaDU+51wikAqX9CLuSWfE4u9z0Wm9FRLuXdkbYiI4Olh7UWPt\nVp01yzYAK4v4wzXNQxhjRVyaRO2icwl/Vy8tIe17MbG3JYEIbKbkZlVzJkLp\nBpGwkEjTfAjhH5ceK+eQYjRMIrresqGhiBIqjx+qqtFJOGfE9TmCOveGhPwo\n2H6i98UrSSissYdob9bhYd+rz7tDQ1nfs9Nt1Fc4yz1FP3sOBKGPVSWfHUzg\nfZf7R3AjkVBRL+GajriEhlDJboI1Dbso9ijtoaQdGYqpDLtj2iDB7ilkJM1N\nVKLiQTV/JJ7OfKODnom/SM5uJQ+KWN+SOnqx8fIWRiaHH8BsHDWV6CNWlf61\nIgGNQkG+RpMegiRQu53XqDAnhf2D+If0gXZFkSw2ilZq5SVSlSpx7JXPvkVz\n/xTJ1Iny4Y2Jo+NMHk0U/AZf4WkoNpYrF8Ma9UwHwTBf6C09ZQ2bul0OsGpP\nQ4RPCbEfaI51/bNjCfNCBdmfosK2920DzvNgi6JthMd2gcCDZtWA/7xb3YRM\nIxj8yq9cIqng4dW258nB4bRQ7027GHIFafNEmAYbxh8kWueOIUxGCYl4bU81\njrKiHyLKuUPDJN/HIjksy9ooaEDIMq9QRL+9z6WaWzyIU7LFBFl63mpp3wbi\n7/tF\r\n=VYcX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJsjYrJ65gBlX/M8eRVVZNDKx29PmlqdBYrpHBjftlKQIgVEEBi/VAsLyGQLoekCJ7n+HcR8IHdbRuXkgIzS/d9X8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b79c3a7_1603746561971_0.7333681776715633"},"_hasShrinkwrap":false},"0.0.0-53e81ab":{"name":"formio-sfds","version":"0.0.0-53e81ab","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"946d131a9d861b341613dcf9ce8038c91d82b79e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-53e81ab","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-9sQNvyzS+IhaFkkRa4YSxiJNVxhYXceIb8G6VEgz5xcTR2e6fAe/c8W/Ai1G5hBS+ULzXZ7gPBWv5kI0Jk8WWA==","shasum":"74f6165f8821ca519795c8b318fd43a43705430f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-53e81ab.tgz","fileCount":253,"unpackedSize":848798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl0PUCRA9TVsSAnZWagAALUgP/0K+dZPCRYT5L0dJBdqu\ne87Nox4sCu5ja1upaxTJy8IwGyB1JUD7lKPZFTs6PN6nX8u3XjuDat8qJ8nC\nPW8o0i3YBaWk67ZgOg15ZdK7Ck6KhvjIP1VkasKbo3ceP7YZJQZ/nkGKLLwF\nYMF3HGnSxNyuRt7+uByPQNXL07JoGgrWX9b3qxBRpH/wN1MWTKBsXhUE/rE2\nSnDhdQAlmvhQ60T/O6IOqAxPkbjGwKmyR+f2FsW1LzQMcIf46OURK0gwgSEP\nYdANnjkTBFDrcSHd7SnPxH7CJPNSeEGYJAP7O38uohqx1QvgY0WpbC5mdmqI\ny0Rdm4V8D17X+ZjF8d6CGEbxw5sx7aHvASI7YLKr05VTpDR3pM4gO4Ef0Brt\n5nJWGOElCX5KOcDUalNy/wdT9qQzv8Q4x1GDedpeeoMg1/+DqG1fr3vknPjL\nZ3dNw9uQH4UZGVyimUWnYndTEQ//HUl7KFfb1Lz5UOGCCGlOVVobulrYmfkU\nEa+UTjhboY22bMIVcRvX/2gh0S72vO+nXS9aqLqoqtdzVEOpBiPiReLkUQyF\nUMMO+8DVNr9jyOn2FWw+U1X24wkVtI4dmS5bhp5uI7zC4Uq0TIYLM7hD6irs\nNohHkJy8/zBcdggOsL46eVPvtCuHfzrPA/VQwyPEs0VtWGF3E3n2bcbvGy9c\nNEVp\r\n=Q6yB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC6GSFkqa/k79cwvn66BN1uhRtC8ruI8C96oPc/Oa8L4AiEAuLHeMI5jr2FLoE95oXDQu3x8ZjcBRMR2buXNsnkYxp8="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-53e81ab_1603748820417_0.8175986816691936"},"_hasShrinkwrap":false},"6.4.3-rc.26b2b20":{"name":"formio-sfds","version":"6.4.3-rc.26b2b20","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"9e9644006521a53f0cc256ea47ac480e4bc6accd","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.3-rc.26b2b20","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-YfnU5RAFEdb1tJ7w53QqrbtUKU1FJ1uzd9egRsk1qVUukxhz3leoDwSvtWX0uKwL/59G2vt5cSVRT1tbhPLO7Q==","shasum":"6e119d24378bf3577cbc1937e55830b90642a1af","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.3-rc.26b2b20.tgz","fileCount":253,"unpackedSize":849685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl0duCRA9TVsSAnZWagAAQKsP/1tvU77kKyNNeF+PGD56\n4jOQUKfsvPfBr/t7NvkQDD47F3ZELNfP4Kgasmmu/5ZS891j33RAPXtiyli5\nOV7qb6tJZKjsMFKLc2xCO4EJeIpi5p7/YUO/+NggXacPUqziym0VSOax4XeL\nj9PAQwwlAbSmeKXkdRaiw/Y202KxTnjRVZEj0ICV/jlYM5qcV3yWdrgGcn34\nHvtqzqmoCeSW9od54tZXrfE8gH+iKTGMN1yfc4yMFMapo9cJc5t78PLzgUyN\ngRbTu4JgoeMvOlumgGI+qDMux7AFRwautuCog+IhFfhXNsqwc2SA/GQp0SaF\n/pT4qUPhro57/SLNrn538Aw7iUKvsYPlGpit83c+4/SeZ6/QwNC4fFSikxPu\nqyRdmgUuzVG8rcbAzAMXEoL1BX9rIg9OW1z0dsGjtVIe2LH6RY0yYsQlKC/j\nnVPVn6oMG8+roCWL5jMLJagW+Q/72o3nSP5jOVQgcKD6Ujpqow/bYle53A6s\n1U5R5IHlCbfQUjR+RJ8XHBfrIRnTSdE2m6GWfpZqd21aUFl+q+tYklDN0nZx\nmBsNjXn2PDS/ii7yfQ/oh75i5iQ86QpvLeO+7catJz2Et/xwwc5lnZfyzgdQ\npWqDapwXp30LGdY3Ss5wFQqbyd1Ytf9Pmv4r8Fsx555BTtITK7vHV+qvmYFq\nXD/C\r\n=Cno2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIKBbzJpTVzB4eHax2QAZlMnxRwzfHWp4u+/DmAQTHawIhAJBAumu6dHmRMb1bpbWPaVNjpIXdYWFbY9gBGRw5aSWu"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.3-rc.26b2b20_1603749742267_0.9131256754231869"},"_hasShrinkwrap":false},"6.4.3-rc.4879f51":{"name":"formio-sfds","version":"6.4.3-rc.4879f51","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.11","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"ad2c4ce46a2db46e09e6b0dd45b1ad3207f875f1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.3-rc.4879f51","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ZFgNhEfFBBfi3c5AX7uR3T/B6kcCi+elDaNrMyRRKLnlpMPYE1Nc5LdMoO+/zMQzlGWs4iWZ7nWs6DiNhoDYMQ==","shasum":"06aee1d5c64622733f6532796b347be731551865","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.3-rc.4879f51.tgz","fileCount":253,"unpackedSize":848742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl0g2CRA9TVsSAnZWagAAxMYP/RCx2rF+Abts2hyKg4kW\nyWrBwoBkJONDn+ZnkD34umbeJHXvrvqimmcEK3UiMGBO8yD/X0EQafoeUR51\nPQlKc4xtJlBsqNnxlBoad5c98po6s7D5jrObfnIZfRosdr8KNaSqHmElW7HI\nM+wcyF4r9g1NS/YBZ8es1SjB3Zwjm9OJFbWM0x3gnkdEl3TH9Fa3x9w+b+n/\n7RUbkszm5FIBcbJoLzce0YrS1zpOLZNSUj66QRIkFZCeC/ALTRWPEioLtSLJ\nI82IP781ABxQwQTmkX3uZtxh9BzTWQ611ItrkKXgxe2NWS01arit3Qoo0Px/\nMwt7Z1oP4ng6el8GFehsSEA4sRQqzeRCxQGQWuJSd1maK5o03V7d7ydseTns\nr+49Smg7YZIHG/wz4nhOA2Bez39oBUWWtiwcbaVUpR9HTig+X/j6TIjywwbw\ncnfO9LNI0wuMoqJGvE5ZjwvhOf8DBwpFZCnfLX/e2aMM1JG9F+5wheo+KSsB\na52pYd3PNwqPb05VN/3mcudwp7HBC1hFMKKpae9epzHhrXmOcRBemwzJc2VS\n3o8y8cd4rd4m4UpN+PsWQlFrORsKHFRk4qOavjtFQufI466WqkDcaUU73NR8\nDHl0r8cAcF+c4kOD/lAQGFM86bD+9/GzPRjlmaBasvZVsXvVCePWar6bN8jm\ndq5/\r\n=zOnq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMA24Y3KHg3N3SX4rwLFUFbhz4u63qdT+XtLmFdaofHwIhANgYxfxIi/l4EZTGEAkMW6GC7wThAt3kQC/l+/X3YArS"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.3-rc.4879f51_1603749942082_0.9377262468141767"},"_hasShrinkwrap":false},"6.4.3-rc.c17cd15":{"name":"formio-sfds","version":"6.4.3-rc.c17cd15","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"f6729fd7cad6a15ece31829c36a33144f0fa58ca","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.3-rc.c17cd15","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-3N9BHqsTw+Eus2SiKHl0sKYr3/a/IEn4RWKqQnaA/hXl29bmCf+GsGqaHR3wn65kiQCXHfmLlKTdZtRz1Whbvg==","shasum":"f466347a8bafa5f31a790e9b6ec880ecf6ffe60c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.3-rc.c17cd15.tgz","fileCount":253,"unpackedSize":848801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl0hHCRA9TVsSAnZWagAAn1kP/3DOgzdtJubAvbhXdYCz\nPhDnyV5OkQtGrl6wWrzKHUcw0oSmstpRddQOM73tzlPd3L1fCZyHA4wtjktT\nDUClzUmEmTbsuxS+BqLDdM5AzyaPhNYkl9JmLEtwxK9AClsTApMPtrdPEXVd\nwzdP33vKfPtxLZp+9fXImEAEExNK9GuASLVw6rG2odSS8gXLsQTgY3fMxJMQ\nZp2PlZaz7Tt14UGU4qabTnj6PIIq2ua00+gLvpHP2oFzjoMMWRWxa+c3IXO8\n1mHilrrVooz7StMkVQXhar/3jUNbTjR2VlDKiiqDegmiAawrgBGgze7rYuSk\niagiCvj8RwOGMT+OA5WhKzmTaWY0Qtx1kHvh7ycaxL8tzEIM0zGgD6reAPU7\nulfxx5k9jTJ6Yj7RjUEMBY8kb2zsO8bNCLbZrqnUB7EVAhG6r4jgTGgCRa14\nRmBXGnYbzGvykQi8+JjiSQuv8Ws4yLWY7dek4+3lmZ2RLGHIZ/Lg9k3kCGi0\nucvw70P9QW1a22xDMg40D6SRAFFWIxv67i0LI8gGbpeEAW+t18AUwbNHKGyl\nH/IFDig4g2s5Pzc+9HK4UmI7WtybKGYwvW64UFcUwMC6WUKxP1CdEMgtGaMM\nPSgf2EywlpYBGyAvTbxzzlPIgm+0OJFeVguwcmOryH5GuXhR2Y3eGyODSPhS\nWucq\r\n=l712\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICC1Q96jBlYpXYwC/ryYEUGBhlVWsUsQFbJ8yhXq/KllAiEArm14f6srDNkIkRvXAjNjQMRyamwC4i7cljbfbg1gJZ4="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.3-rc.c17cd15_1603749959053_0.5901246507536275"},"_hasShrinkwrap":false},"6.4.3-rc.cb3d07f":{"name":"formio-sfds","version":"6.4.3-rc.cb3d07f","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"ae2663d03178fab979478354aac34dd1525660b6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.3-rc.cb3d07f","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-fgf/6B7OtxCgiwFieEoI3jxRKKuoljopKqJoMA/nNivTqeQmCafricUjVYiZbhGQCQBTOGVUOgTiVMCM2A+ISw==","shasum":"6c6efa9718e5d248db1974544ce67e39f35083ec","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.3-rc.cb3d07f.tgz","fileCount":253,"unpackedSize":847858,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl0keCRA9TVsSAnZWagAAefkQAKIkybnRwafUKEqo6tn0\n528ocLQxjCV1AVMCPHfzTqo+Tlzt+lj3moBuuMPCYVaBe8uDfkuYAqMqAqZM\nN1RU0o5hxkO4sNsfviZ3OOymaU1XODRx/iZBXPVHL52IjuRmAQKcaW8o86SZ\nC3lTZjk9ugzTjAYRwMq3SsZdiOkG8PosPfUanAdUjG4vJHHMpECGdJvIVsjz\nYIken7J/J0EGg4D56oKwORUGGlea68u8iqCnQEPD++vbhtAOTngWD7KYM634\nA87vKrfBeMrhyEa81xzfFB/MJhx61joHouBU7YC+r72zhPdIt4b6NPrXOg4g\n5Ou8vC8mGqq8RzcT5aAcH6zZ2j/0Ih62pY97+IJwmS14f2mC+VFu27hBp40p\n9jw+RtuoEILaL9HLZ8qzHLzJ9uNSFV4wb4ZolKm0+g253CXZtQ0GpdgvOwv7\nr4FyJ7ms4fcYZtxF68mYe2da0Ua5mbL1x18uMH20AshItO5NiZnZWa/GjQEj\niIpd8XgjJryoSzchrj+COPLpRqqTq5fD2OcTGe0TdiLKQuYlmeGSqSOwdj3D\not3mjz7CklmfjSbglK1/owV6hxMk9Abs+yE2QknGyZJhYRygwU4ByCUvTLwM\nmE46r3AqrtWBe6sk2q9ZiuIE02Ld959HDlHH986IMu1k77B/ds+ME9gY4HNd\n87R+\r\n=A2eQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZgF6IUggiURhmyhb6jZ6VC1nf9+kLuw83Ku8JAfP2UAIhAO+pTgSWcvWI7F5gPpqGps8HSBVmOqyNCy5FEWdAc2Th"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.3-rc.cb3d07f_1603750173560_0.5702242866250873"},"_hasShrinkwrap":false},"6.4.3-rc.d64fa8f":{"name":"formio-sfds","version":"6.4.3-rc.d64fa8f","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"9d90b3915b90a6448fdfe093603616069ef07124","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.3-rc.d64fa8f","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-HyZoL6d6d3yXMgCHXvwKfwtY+JcoPIgR8vNLvF+I6nlH0GD37R8rG13CbTnjMXsoy7tEuIptL2hOBQiogo7vsA==","shasum":"c621697be87df0719be91209bc6b254bc0e05663","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.3-rc.d64fa8f.tgz","fileCount":253,"unpackedSize":848801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl0m2CRA9TVsSAnZWagAAU84QAJuRUO4Ge0x4M1T/C2gh\ngCKL9MmROrk0OkooKzyhMjn/HQVXUVCMkyCQzm/0mvgTOcw1FdfRtU8Dw5GL\nqLXmRibDQF7e4SM6grZ0AnNWgc6ljbobiStUFHkEa0LQVGFyVl1URbavXDvF\nY84xPa5AcdIyLUpQXXyEBOHBg/wB4f8sqDGInjmCcpvRuRjAcBsX+deZPdiM\nv4Rnh6MrLB6zaPixBjiyd/zUZng9CtfPNOr7pigQLBo+e/jY0ZIrfu2ASh7/\nLf64yblCvIZpddBZSdAxsE0ugdvOBUvdsgsVVPMvclUyviBb/VchxIfZnrs5\nl7a9J6wAALsbA/EPkUBd2YDdWryo0JMsSikc+O1e8KwChTCiDoqsSTk6j9TI\n9hvOJ2nqOs3cESh+F/CgqRGiozPmcFTtUcFJQleHzcIgVDGrluccwz1L4oYj\nqc8fpWQAwB83/g/UXJPwvR/5UCpVDC23Zdxc8YPSXAinRmhvFqXYLTGGmkqy\nYSC+wIDvQ0pGaQAPnLkUHMyDUB18mjQbYeLDYjQhxNVJwJMFX7i2iD8bE2SF\n9MQyn1VcCCPWL6i0DAJS2AwTt+YqPxDRbtFVa9B+6GoX5JsSI4SYKTZLR7Jh\ni4IYEKrxgyCMN1Khttyg6KuwJRvyOqrfB/WEFThAWJf1EL39ahQzcZbvfRFZ\nSbHv\r\n=kw9F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH3k1FBa/ybQZArnyWx+/3g7LAibdWldPkqx6+68Tg48AiBVmRGgGl0iASptzOXCnLwNwfn0uHslH/Rr6qAP+BRp/Q=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.3-rc.d64fa8f_1603750326028_0.5569527885617407"},"_hasShrinkwrap":false},"6.4.3":{"name":"formio-sfds","version":"6.4.3","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"2ce0a62e7f2d5bf692abb69379b9b0394ca6c3a1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.3","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-vRJuGIkeSojaWMIk8CM4wze7zJ+Y5d6MUVppOWrsTm3uW4puwHnbD03xFsPyuGDOIsQYTmWWDbVeIBmdsq1gWg==","shasum":"7bc67423cc7c37d3ca310c29b0f6ead4590d9f7a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.3.tgz","fileCount":253,"unpackedSize":848790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl0qFCRA9TVsSAnZWagAAOrEP/j3X9ClA1Ge4pR6hClPT\n3X7+Ru81UdM4Q86UOeEcmGudZr+qa4G2YQhqdJybOy+IhLG4ynXmpeYiCpcb\noVP7S3KhrDW7EY5Hw3CJnmvPSlv0DqiDRRX+wFfNv8HSxCtvnwM2ruZducVL\nE97slyg5XDz7qmAiqR0umRa0hYtF8kFtu13XSnASS9fo0dKnHoOUJa7eWvfD\nZX/H5DNGHenoeoI5+l8H3GDbm24qQP2mI1m/jFchWcYe71aFP/NzOg9o+jVo\nhW7N7DzwdHfsrcYer+HdG4XNKCDgvWBteMXZ09StLQjkGE7sNDuT15GdQDGy\ngUtCkE1HCq8QJpbhXsijZytvq+NRRn8NFp5mZrIJyxAHuBxcYwNpDT0E0pds\nPk/01WXFuxUU8ETur3PtsBoCgQE3tJ9dPs8LrpQZ91SzqZGgYh3QDN5GRmVk\nDK1/cikrseJdl2OhXcJF93W/sFL2DIOiHehllTJvKu8T0W5pCC6QF6D6g40j\nd6ZXC+GXgdGKy66olpFiZ9SGYlU6BsFvir5kXH6sojxm06MN/ARn1oJHuiLG\nLHhJkuQn4EwOvTtPCrJWs77hTq6qBte0cxpPrsHTEUXM3zmgQcxagxqvD51U\nJp2ujh3Nv9JAuqYOtXRr+xKBYymmcC6dZexq1Ak6BriOuRzWdHmIbDzGR2F9\nXUok\r\n=lpoJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCH1ce1gUWr4ZVr2Yv58Zk+uEKmdmEIgG1qjS0OOWkCtgIgOSY9Ptp10avxKER2GuCiTAYpgphbMgALriJWyALw24E="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.3_1603750533286_0.603722518104868"},"_hasShrinkwrap":false},"7.0.0-rc.a54bd59":{"name":"formio-sfds","version":"7.0.0-rc.a54bd59","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-inject-process-env":"^1.3.0","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"529c861f43a44eaeefc01c39f51881893b04170a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.a54bd59","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-KwgsLZj654XTIsY/I1XZfHyR2Ev0fc+qDPmvuYf6sFaNC5U4aEq5EvMaod/jCjW0wFR5Dx6c3syTdKKhnFpw4A==","shasum":"51ac3fe659c99d0e71b8594c4357899fa0ea3fdc","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.a54bd59.tgz","fileCount":264,"unpackedSize":930686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl0wWCRA9TVsSAnZWagAADfUP/10BW7OurYZFDMPJlpOV\nyHmDwF3W9JtZPJj41xuPKyqDRKD82itIsTnv5qEqy/rPPmRvHf1uwc2ErZ3o\nrnXxIPDXjA8EqOKft5g+nWrgq2//2gW/CECViuKW/iv8nART+AL3R7fMMfq1\nUhJw5TT1KM6UtsEuo9650iSOHaDAzbk90d1Rddp9wFoxbjUZq1gS9LBZHmzn\nMn57DzC8oxbL/UxT+/X/jwpedb9ErJVhOqc9mpL9Pj5cyCOnKN8IgJ3INRRZ\ndiI3VPXWTalHVc1AEKKZtTE++23pK/9GNUZtXdTCeuix2ZDT/ri/eYgM+l7U\nNI8mhlA6bnpAU2L24NeLer53sjnBHk3RPahltDfjYzvAqN3z2AUySojE3SnJ\ncw2Jj+Az48t9ITiU8a+1x4D1xrdJD1Hh3+QKTlFUo6jkHSnbaq3E5VLGDZ+b\n1EbW6LdLXyNG7t/N35WpqEx8B+aUjyzhhbdHK4S0/Be7R7nurftevTdqEDzX\n+V62xpIxfrEvDXNkpU/3bcqKO6OGTJm/B5AkH5kH45d/hJ2DEfYTdX+cVRuq\n/nyoZ0zuChpbSPUyDwwMhkJctqSFTJpGhjkx2McKnG90J7Fbc1/7XFQy3mqL\nA8r9D2n2BCHLuCiwqmdJsJUST1zXz7aWQjqHTg67+MoyK4cGX2bJ8FlqSZfM\n6uQd\r\n=SNhm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1SKeicVRWBV/lL2tG4PzfwAyZixSUwHNKdz3VzZPogQIgWUOplcVneyw1ucQk2N2UmZzkI7cMEAojZbmll51rBNQ="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.a54bd59_1603750934352_0.5092650023101384"},"_hasShrinkwrap":false},"7.0.0-rc.f5b7c8e":{"name":"formio-sfds","version":"7.0.0-rc.f5b7c8e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a64cfd2cddd48ace13946665cec77e2310ca277a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.f5b7c8e","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-HBfmJl/VZlCEAE4TJ3OkZlX9iSnYFCxYTxuxpCIn0Tv8pfzlKM31FO2ZQ3bWsnLe/hqPbC0uQ5ietbCrXkEvAg==","shasum":"0be023701704b47feccd9012081080d78d8a0be0","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.f5b7c8e.tgz","fileCount":264,"unpackedSize":929670,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl0z1CRA9TVsSAnZWagAAkEIP/jEZxm9KDyUrU3CBmy2l\nB13qVj9ZXX4sqO81L7+8dhEOYmqwkq/8QqAsmvksYiXEHqpUHA0IT0En92Bc\nbwy7JgwSiqIMvTrSNGBkxNzFG6SN1WBGqmCmJ8/3xV/Hez6DSg/Zj2aqoW81\nVsTO2EGyzOZkz3uU2eRZlrv4CVIq3Y03l5n76IN/mnaq0boRZjDFfrA9WwyK\nSnpE2tSetkG/BTpTbTHFaV7KeHffivQHAPRJ3OPE8k4I7kgGLDUOHk7D9L17\ncHRRmKea9uYCEJfSOTIBStYusI0LftuZ1f0wMua3OdLsN6/N8mxyaMqdOVDz\nLjd1NudLjkkGnAWwZ+cEz+qPjZsjf5NeUvTeLGBg/SRoMTSTKCyxJTS+Rs8s\n3V4VuowxChlUQkzuZQEezdUBfXL9Camu4+1pUnPFqL1RgssHDa0nIQdDM35o\nXT2oEL0jIgyWynveMxPNHYOe92UfvWJZ3ZhEffg8hpHJ6iSwklTsqqC+eA8I\n97veYwQeBJYWcbklhk0Um6mJ9SNyPY3ppjt6K60NVsjFbGCakv0Laa0jU/5Z\nHygT62Kjfc6YznBnpKz/aHLiIg2o8AkrB7TriJEYDchE7+XAvpUIPUKPWLEs\ni96SKRb5TFYj6/9lB+Ozlqcqxrfmr76rMMHccTCzFLRhfPrByqinyCk7Ia50\n7h84\r\n=l+L5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDXNFXMVpzT07Dy4DnLOPrVauQRhezdD09P0JWPutL7AIgc0UJN/Sa6Jk7B2wa7yyiV/QiXLKh508gId9RZB9C6zg="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.f5b7c8e_1603751157478_0.9355099896727488"},"_hasShrinkwrap":false},"0.0.0-86c6d57":{"name":"formio-sfds","version":"0.0.0-86c6d57","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"7bfe5f459a4ade97f6a73e14a0bbb92d402be738","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-86c6d57","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-L/zFcegWHAhPfvnSh6atFl3Zc6IF1kWnmWv+PPf39dbN/s1StOWdNWSg0BzGW4DZRL6KV+HpzuwCc5dHUX/4fw==","shasum":"10bdfad981cdf5ac52ae9c871dc3ad022da267ba","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-86c6d57.tgz","fileCount":264,"unpackedSize":929479,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl05zCRA9TVsSAnZWagAA2c8P/2IjfJ3sBV6OnI9JpELL\nE5J7O4cup1M3Z4VGL/kvlJBkcHQbHyihdQdzQFyUXq3QGJmoLqBEDYWWiwMo\nxAMOT3Aj4HVT8oSXA1WCWvsyKufZlGOWL0kgcbQc40wbrwdiI5OQs6dkOck8\nrBtjzHwN6MCB8bE4Q3OvBize9qLrikBGEM0n3bSSqytFzhUuIhgt6hkzsqfe\nxAWEBZ9TrNGfGlY3YmfvO+kb8NYjIMg4G8LTrLKazCGW0blRMVTtVw6qRh78\nDLpugIta4SlqCbzuzioP0MuPODF1t8oNqwo9P6xXpeFU9eealE6LwMV/DVdZ\n+zCj/dr77YLwxjujT2Uldgaya5hgI7RfFXP1FIC7b6NHIlJkLr68eosB1lJO\ndg6VPvKbqC2UNudfH8Zhl1DDC1GqSqxY2EsG7nZV46XQH7F7gLxUsNfjwV3N\n+B+P2fKu6yHPcnxKQwBq/ql1pQYc1jOcjmS6r0oVqM8rmdhK5k8/rAeiCQG5\nEfGRGguKiczgF2pVW2srUsQOINZIZ6KJyJOAT9XGr3CDRDKJNXc4dbrDC7Cu\nciYI0c50/c44iVzGdLbwRfYGc5TdZRHnaCnrLlw1nncmEbF5cHTf1GAvpeBP\nQMqsCQkXVxgR3UaTOnEBI4jT2OZKTuAn/alCg4DaiQ2zQP57+WoCGI/7FF9R\nTvf4\r\n=iUsS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDKA8pXqBG31fO1vdsRxuGThwJxJRAP8YD4oCnYYnUmSAiAcx6gh/zR8TMEznpqfha4K1IyOg+zNc5eJBhJHD3d/lA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-86c6d57_1603751538590_0.5159490187378737"},"_hasShrinkwrap":false},"7.0.0-rc.924978c":{"name":"formio-sfds","version":"7.0.0-rc.924978c","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"1cffa93caaf0c07693dbb814c4e0c535812e2365","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.924978c","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-cpiUYTxCtRE0kZLVT85kMIIRk6+qgen2D30jh03+BTaSu7AKD2LMA8oC82FGSuTk9qbHaemIhhgF6J7nq/biEQ==","shasum":"80dc9a66c83203bba08bdf251e98e7ac8a0001b6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.924978c.tgz","fileCount":264,"unpackedSize":929482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl1APCRA9TVsSAnZWagAA9Z8P/jucLenGWrqxWanz3YSE\nrN6CfW9cmWsMTd5bLKYxqrZNsLUWEhi5Cg1Lu8vaXpueHu14rRWCNq0SbxH3\n7ldi6O7R3XaRr6cwHh7m9Y6qGb+ECnGUFeiW7oRgkor3Nknk3TeIHZv9Z8kE\nto30+gQLk70U0AzoyUYsCRkoNEjhQ6DV27l261ZyFw/9P52jiRmb+oPKmsML\n9b5voNxOY8jMpf4P0Ed6lq2Q6V8fS4QntMK/J4Np5JlsMd6kDvXgnnQ3g9GF\n+Hfuv8MxiFu7/+SGePPZ5NKpKIdp8K/7stqST5Gau7YSvooLlt6PU5prWpH8\nHJCJNmmbXLVBYPOYW4o94OvYo04w6QJ2km3ToilmEW9xbMu+CxgNnUHPfp/j\nASA2k6Y10lJzfSVVm6y+kdfgH30zP1AMm/eLHqgY2Fb+QixbJU0PWN+SPf9f\nzrqaTJtpZon3ezbVwyOOfnXsib3q2xjyUn0MzFHWKLU4ydv37o9Cabjxhidz\nozUVcsjmLyIb8y+xHDEom9kW4AKeyGzUNFzaUzNvZgnPYpPxiODbpxjUrwWV\n6g5N7F2ii12AHUB3zCvojNj1PUBUPE5N14Oa26Xv4gf5xYiT+FGHaVzT4umK\nJpjCPV7/6OUPRtJi6LWEWC5He7hUsb6KC9hhXhBboUMOpKtucIAphS8FKpYt\ndvQZ\r\n=WIKV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAVwSvstFInvVpFzYQ50qU16myNIqec34baK7o1+rEjHAiEAschMWDPBo2PWvu+yI6+4tNHTaDYD0uMz5MfiAiJjspE="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.924978c_1603751951077_0.8315511067042314"},"_hasShrinkwrap":false},"7.0.0-rc.ff47931":{"name":"formio-sfds","version":"7.0.0-rc.ff47931","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a18bf474412425bca399e776ed77a798fe9e065e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.ff47931","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-9OGCQv3On3RPUeCsrqdYgQyMWp2ArqZiGZlx/gm2Qji4OfTX7cd2JeKphUyq+0AYUsWMXHWFdGXFj6a/Ipw/pA==","shasum":"e8c4cb170d6e29d08998efaff06a50ca8c6529d0","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.ff47931.tgz","fileCount":264,"unpackedSize":929511,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmGCOCRA9TVsSAnZWagAAxQEQAJUW0M0S4WGkxwiXSXp0\n0zyWRjSsrIQF9MSo1Db/k2XeEBQp0O2c3lPtZTiNzJl3FHl0KPveZYaRbISb\nF3lBsl5fobxrjwnG3giS3FwuJ5pTzDa+Eb4EzFqjBUmPNi18m3ANqYaF2q71\niXC8vz+zeNQ+DU8whfVJNYtYBrJ4CTdIq3lrlCBrI1kq9P3GtRMlZTSAlB+/\nCmTVnjXa+oNO4is5WFN5EP/L02rTAh3RBDu86kecSZ6lch9jn8tg2S8CYgL+\nlVT/9sJrQIHv2Ri5btro0S5Lk6GjUzEWHmtQGSm+gsMT+wpujGybluE+b2Pt\nBWzVrPxARpNy0fkyts+jxwynnjqeKneJrqhPbWOhEMRa9ME082TBTe3mKhPv\n3HZ5cWZpovq7qy5rSpxgmO9BI8fjQulvPiOzro6788RZHtLQMXSBudDHGI+G\nIce4Uu5yWFtOvM0F00cqLHPrHNQf5gpG8cW3VwDlz6sOeHwmvOero8JQwnMN\nkNrd8HUpvQFqBWAeW5YkZtBhjDEZ/1aDtkH3wi6K9+HZ/LBgp0isVBNgrHtF\nofx+DW4sckN5kNDhYD3aVq/HRl3/elaxl8rLzYeTh/ntWUMHKMVclCgptcMf\nporYIf7X9JMU8WJtYpsohqpCR0G0vsgONvVqtWXW8rwp/S+GS1+Zerhv8m0e\n2Drw\r\n=fBP7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHBXycSCzNVenCvREY5YrPvOko4DcYe1k6VwS2a+fKSsAiEAruRid4lSkRwfb+oaYdLFC7/C42BdsZ6KLiDd1xftZXM="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.ff47931_1603821709814_0.8478377371469337"},"_hasShrinkwrap":false},"0.0.0-f861fc3":{"name":"formio-sfds","version":"0.0.0-f861fc3","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"534efb86c37adb5663b94e64d5a9a80b736d68a9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f861fc3","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-YBWAsLWQuKKiyCBnnnH357fBcuQPTJw7k6Krwbk2ubIV7/XJQzR2QsF1bPdE0KtQdiX7Re/lZigokZoAKbgVBQ==","shasum":"a5a6eac491fd4a1fd2095d205cf89d02b85f6dbd","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f861fc3.tgz","fileCount":253,"unpackedSize":848798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmGyjCRA9TVsSAnZWagAAE1kQAI910qv1gqt/JhUEX+AB\nnOnHasfkG5tMXDUuGbGf2R+DrcUG2dFPuPKwVhD0eQidbgLWUqVf/G94UhQt\nMmgvKCeRk3G9QSldojSJifGggahXIMee3P0HcucfEChaQpmj1P902Cq1Ojuu\nAEKtnVALMAenH1T2v329BICU37Q/E9xtfrd25kafwAcQMJVmtylLmnkBZ7AN\nh316X7gcw2Ftoguz+EzO35XBJbPLpZC9HOPVZ7Q/+AO2UOh/W4UtlEiIAo1U\nmOQMPNHKwPKY/DDiCZL0XMTCbNiZ768kmGRWRdbEdIAhQ4NriNGT2MtbzySG\n5vKMVCDua9TnvgCPa0nwiDjl7cS5E0gZEeDc6fEHtuuooD3XQAe/5qnWzhOP\nMfTnISFHoJuLNaIkkReBagTgstrU8EjRn4+/uqwwX86IZUZxqktvhRUCjxrG\n72/sH1JKzGzhHR5P5/14LkgH7UjjaYjraQaEmBHMoHCUtiy6/MGfnwlbWfeL\nu8XEFf8CUjk4WdC60sKjHUVb9WeR4dHTp3MgMlSzlyCeDxZbOW9O9q4oI5nR\nFmrbh92X65zrWkRKAmQ5keHhOxZB72gVXogIVpIX4lfd+nL/J/Z3KmimDzt2\na6O2t4sWnfPP7SeXt6zjSvI37uWXi1Zak5/ZEcRQvmoqPkogLc2jqzbuRZzf\n0QR3\r\n=UNHM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFTWtpwyMxIxYJWvypE5PDx2SW4Jj/nGcqS225qiSLzRAiEAwv1CUgKyrq+GhXNtAwtNCHng90Udv89FmTsZ+ItGvtc="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f861fc3_1603824802623_0.035796877025287666"},"_hasShrinkwrap":false},"0.0.0-e874b3e":{"name":"formio-sfds","version":"0.0.0-e874b3e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"de606ce4580586efb99668c7b8b80190663572be","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e874b3e","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-g1D6kcGiM8TZUdZh8WMv6NGEli69uHZ1Hg4P/WPTziHf74yANQij5j8FOTA0KXCTuaHYuksWTh+yXyulYyGLww==","shasum":"37289091a571f1fed8031c88f2e962e944590372","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e874b3e.tgz","fileCount":253,"unpackedSize":848798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmHCpCRA9TVsSAnZWagAA95AQAJh9+FAU4gB715Gz+0h0\nvbpbOZKJVugNa4+1CMGt21V0Gb6v23vpQ7rNUSKE4udojIA0HDKoTlPwLA05\nbSofwxfgyOBZkOH523byp4WlloZ6sB+pAIkhLRVoF+YaeEMphFtnGigANrGP\nb8+61ieKEBLs5Uj2UHvFuhg//VNfjUifJjGGHJ+5wRXrMWH95xw3rj8zkXc5\nDp8nfIStEaYwcZi+dQ3n7vFdBM5vi5rDRckwLCmNXvDnXrhjHeWMFPlf90Qa\nLj2m1PvnFCqk34JEv1orM0V6rwIjI1VmXQtScmEa+dVX+Asf4oLutKF0xSXn\nudxwLg3G/R8DSrjZ41SVo1KrFQ9ps9f5RDrm6+MH4pL1RrRFrJmnB3zjlqLz\n5kgOkJaVbqqIDAUMtJ5l00ZNfTUz8lD+rrcAUnKxlvPdJdVklQOWCIA5MA6L\nutcrciy8ka2SCR9x+Pxlas7t0FOvwTUODRCTZiKhrPNdsSLpQyt4stOnV6C+\nx4SJ0iD2ZZclc0P0ZeHdeDf4Eh08S4AuQRM8P5aotvkbw/lq3m5WM0GDRWtZ\nod1APkRiHzjuHC3NYZ6zhgDu/31q1B0Q8cOuQzU/eXyOqczYR34JxxuFp+RC\nYfOXrKqop3iqMxreTTQx+BySKfu3zmnrSqExuiI4MovsR08xHkwcpmPmZTYM\nbHQP\r\n=J86W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGdH6QfqvHgiYiFTxSSOnPJwhJRViHElIRl/OsqakAriAiB0+/ubfpOlCDSo1wfK1IZ0PXjotTJn6uLYLJOwVpBdzw=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e874b3e_1603825832704_0.838405715920048"},"_hasShrinkwrap":false},"0.0.0-7af996c":{"name":"formio-sfds","version":"0.0.0-7af996c","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"b51957c25415994dbd8b23f5fdcf2a3fb6f8373a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-7af996c","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-tBttFie1He7sn99Ie+u2m0LUVTy3co+s4WfY6WniTz+gPg0W16n6YoxdLV+5kA4JyaViX0+WcoX69nuPIsy0vg==","shasum":"6e0518cbb2afd8e7a37ad87187871153c93cbd85","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-7af996c.tgz","fileCount":253,"unpackedSize":848798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmHRRCRA9TVsSAnZWagAA6p4P/AgnY0dX9sJHymyp7c9J\nDawBhZ9DwVdfKBfaSM1qVExP6ILi/xNZRk/RWmMw9rt5alKRDFmr0HvIlEuA\nG3pFbcak+2dHo2vUZayG6Ksf5LcDl8HiCAlhv42W3z7uoyE5Cpfc0ZbPy7vf\nJptWlxdeySHxa7OFCjF6tBVnkygxaUiDR7+sL2y2BVt/B5pbl3ZoUPBSgSFm\nv78VFqEeBjiZbzz1V3vT1ooKsBSLl/C1Knqxr3/1ISqaUkGvbd+2cHeF87mS\nwHffXbwnNy4H9YJLp8M1NVW2BCVPcBYQ8fD2qqsKx1XmZO4KSLnoHhiarEn2\nXr+u6LCvEI8c5DUa7gSlxRGSK7UxaDb/p+DDip0M3ub0YX/2lBolJzZ8vNT5\nxBOF67T9jFTUTzEZoGBYPwcNEWcI1Rtzy9jR02sLY/oSL7sDokFbl308hfbF\n6qTQ75Otl7HltpQK0CIHKstbndB8U+LFOQn+XjXznZFZXKqaz5WfKmjwqE64\nWjfGc8QcuV40jlT+o9fYcX4sVelkvP2ovpa447Ebg3ysep8eE/vZ5dMilQZU\nLIM7E62s5seSFevwAk1E0UevsmsUbW99OnBN1HVj3nlr8ZpsnDrCCWMrXRin\n0N5DAS5pAjyU8jX6hqVzohPB7kcbH64k7YDmyhWz8RdedP9wHFNRdlVbjw7Z\niZ1r\r\n=HAG9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2i+2dKi6QLO1T8Mv9Mh6XBv7FP4aKWRnstWAqoG/51wIhAPVV2S+ns9moxbmPbOt+ohZtf12myJzIJf5H5LlJWoSB"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-7af996c_1603826768505_0.22666326033128148"},"_hasShrinkwrap":false},"7.0.0-rc.233c20e":{"name":"formio-sfds","version":"7.0.0-rc.233c20e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"4ddb441ff261551303265e84fc82c2b2784b7b0e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.233c20e","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-VcW7aGsxopuV12zd29l0mWdUQPnIg6X9Vip7EPtwYFOtymrzW5Ibl4gP5+5kSeRyz9QVJuOHjdtWl7Vdbtl0Xw==","shasum":"31bea1a53ed287f25b32e28968ace69798ec3dcc","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.233c20e.tgz","fileCount":264,"unpackedSize":929542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmHYACRA9TVsSAnZWagAAyHcQAJEGKKyIVrmUM8cgTB51\n+W+WmHJ1w14rKVSYPUMIuNIh6T/TZnrSGaUdLQPgnA4I5tKW1EQAp4SAbNu6\njRQ95sZmj1Z1OU61R4WfWM1VyN9ZgUuQWbGsRaj7uISjVLwMIJKa9Pi9/mAw\nL0BMHQHA6EM+o8MmZpam2C5rvX0phHRODD5hYMQSy8VIJ9wXa44Zdh6jD30R\nvX2TTbBbHn/r/KCORvu9zjAQBFCQFgg2iV/013QYXvs4O8Iv+rclHPHCEkyi\nOZyKCxJ+E53wl8sMQesoVts46IpQ2i3zdq8/RDEr6uV5LzPvzluQVclFSVsv\njGUPNXmnmQZY09834ROYN4eDm7FuDf+tS4wqpUS2y5P5oSnLhBTnJHUo374U\niSXyGCj4RD291mbwd+QyR2j+i0wJwcaz3SSBCn6sXxeGsF5zfDjOFJJONdbX\n27l9TZdTgSF5hzIy+CxoYFwBaLJvummWGr2kDfMsgi3fUFvpkVKExlv4wyQI\nEPOcqaJm8Q0V0SVCt/eoSg7u+WxEklqr870+egDCc7M3i4h2Ei+XXjs0i/Vj\nRHVF1bYDz4iZFpL1rHkrIAflTkKhO6x/Dvp+OJhnkH/9vtSFCAgXPTuBKNia\nxDgQ4xohk10PYh6LPXOj3KdkLvjPLYEGq4WP5bxKCWlBCN5TuvyfnA4KCiKw\nsADA\r\n=uKAp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBrl0ioBm7soXjDcySFjgx8M/hRpv7qhrxjo7gzJ8w/4AiALJlQrdKFSFdvOrBbkWl7Vow9VbTtq0WveTmw9gNYCWQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.233c20e_1603827200417_0.11587763939813711"},"_hasShrinkwrap":false},"0.0.0-ee5bd6a":{"name":"formio-sfds","version":"0.0.0-ee5bd6a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"0568c49b08e34d37ee1bf9e911ef17a1518d0319","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ee5bd6a","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-tEucpw+eYlJz0hjkdI1qrkLzibkRgirJZiYe4zR/qI5IpbYVaTSbQq6uuVN67W3RdmzhQnS9FucdOfUUbqwDRQ==","shasum":"49669a25f90dcea16dbb9556c5e66479511ef360","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ee5bd6a.tgz","fileCount":266,"unpackedSize":936029,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmat5CRA9TVsSAnZWagAAq8YQAIwpiruOPXac/6+rk2j5\nrX/9j9vrDPRPRCRL6CsKpc2CRv5XcaxSHw55xVt/yQfQHiLv4J54jXr7tqFa\nthpWkJNBEavDOmD27FJiUsQSJ3VMqTVx2ypH7UJ4CtnF6dHX2wSwYswdnRzx\nzlXamDxzKHRAwOxpS2d9j8b3cFLhEidk5jvhf29RZBNxQzuAbUty9XUfR1Dn\nal87qBzb1mK2WIa2kCJbK9ZEo9Lmj+rSp7kYGkS9nVMk7FLSCqPCRaWntZMU\nOw1JsAPU2qqntjW++b46kMVJoKOoHJUo1psO1ryoMjTwigiRn8c8ED3Z8UQH\nKK6Nk8IPzb2iBXFbHzQE8le3jisLHRIemJfZvV2p1c/5etGdMEVHs/uL3tIv\n8NBJhumG473Cl/YU6JmNk0KgDR08cN9WobIEgCDa50tPTLjbaB5FKKzaUB6N\nGGqCW879rA0xdkJEc34ND/tYqxrFpYRBSCURMV2nFoFkw5th2K1n9WeO7yzX\nV2dHwfD90V0k1FkK5dpZ+G5aoGNSYZh0QMazZrigMO7Uwn+WSiLMiMf6iTbR\nFw8XOlnMBVTPg/j0kMU/ljDhnSirs08vedw+4JWk/e95nThVF7ti1mlDHljK\nHHvhwnodl5EeU2PxhmtXBFAZ+s0XgcqYxNr6FsH6uXWLAPNaKtuFUR/5mzMA\n8fMG\r\n=pFl5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5SXTAMH3yBkYutzcX9PeZUxo6rmEmgGQV/HuY7Pha6QIgU/ruzvJrifsNkhuU0YYHhuKfPkXmKk6JPt4+PBueVr0="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ee5bd6a_1603906424469_0.7797520626373753"},"_hasShrinkwrap":false},"0.0.0-aff54dc":{"name":"formio-sfds","version":"0.0.0-aff54dc","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d9ad91c959855251a522b8aaa8db8b8d5d1a848f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-aff54dc","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-uTSqtH7V4OZwrQ2u5wW6ZbAFppqMytCbmi3OLf+geSfG+VjKprj9OBHvri6AdF/QaisP3H7JG/83MQqRnqPjsA==","shasum":"950c5cb31600c299953d37adaec975d6cfc6bf1b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-aff54dc.tgz","fileCount":266,"unpackedSize":935794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmax4CRA9TVsSAnZWagAADjkP/1IZU8fCI0ddiD0a1VGb\n5y5zHapq7qUtoG+BwQuAtE4QKpSH12kzW3yQ3Kj5WfMXLBJTToTgMRqvEbiV\nypuUtxs5l6HXP5R6O8BkEI8Gu3xBHBuux6xbrYJHpj1msz3YnDy/sE5sHocq\njA+iUpcprNxpD5/MhLQ+8K0fRwKIerVgF27sZaNV1fwLpvv0I/NsNUzDv0km\nxmR1/SjhmYG124cxmMamAPaxH4tsAlNFe7OaxaNZSjEMwoy44EiyEHlpFqZg\nxA61/uEiNVOoil096QMiEQRmIdvF94Z273zLehGQy4/RoGI47HBoWoLwomL9\nwom1amBlfCX5IDFzk/X1ifpkaA13sVCimGt4nf5A1j2BuU51zcyp2/FNnals\nlN0izpvemYR69RRSOU/czmYrcnnbHj2svJEWfKXiv38MPcrpjiZLLh92JRVW\nFBGnRbL2PDdjPePfPTv9jFxvXi4y72A/evCx8Quxh2OU8JgxWgtnpHrg39un\nggoA6g3rycTO2pYSMqAsPwB1iDS3/3u1V81f+dXJ6LBNAjIn75xfltGgEVOK\nRPNDpH8wseAXsvFdtOyzvbPtb9DrBaMUPtG82dXFi9CFsTpEVculCtaQylv3\nGy8z80l42Yl+MMOXSjFLu6PiLw0VN/zgz8z5RGmqeLEY/iMC7CMX+VgcYDCk\nQX/L\r\n=rgH6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFTCoq6+b/wuMZXGDNPmzoJXt88JRbBJlkFcYtw6kSM4AiAqKE/0IjZ3GWuoi5deXIJ9bFhhuc5UubArKvKk29O8Og=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-aff54dc_1603906680118_0.19530834015143772"},"_hasShrinkwrap":false},"0.0.0-d37a493":{"name":"formio-sfds","version":"0.0.0-d37a493","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"4c4d9e1efc92259072da664a01b9262b22bfc274","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d37a493","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-wyq+I2d393d3sr4CmPeVj6vUWGV+vBVOvAj0w2uMaCqfJPUfWgPvPjhM0YAMfCXv3KtY2Kx34KYmQdto/AXX7g==","shasum":"f69c8f3f0e5138510d15b67e3282c736aed4fa18","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d37a493.tgz","fileCount":266,"unpackedSize":937826,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmc9oCRA9TVsSAnZWagAAC6kP/iW7EFkmgy6W1aij3bux\n9XRmFzzk+f834amAwzPLjZALcQNJ1fnFY7Wxqy+WztnsbBaLviYGQAmlnKKE\nkihUCWEDswy8I64Lg18FiXX6xWj0kN/vsho5A4ZimzmdxjfDs7ocymCVQo20\nykF6BgsSbgipDICvDYpD453WGyX6KvgFoxEAREYNObYB0Anquq3T2t6pKzxt\nuyjgwNRvbbiWFBJvgiKVIUzaWN4RVSnMiTbsgFRpLHHLSv7FJAtiwy4zz3G/\nkyONwhKBquQUef1ydqiYHqRT6DbPIPcaYLI96jAwtxBiKrkKQ6A8JO1DxvLi\ng64Q9UgWRavjqb4/gs+rf/KuBNXUPSubvv4HpUIvD9F6SxwKgZLkwCPu7CeU\nfmItt4d+yAcWxJGTghUIgd57Oqlg0cDit56TTIPSJvCSvCuybI6+KBSwZeFy\n7M7saRur1Mb9yhi0SLBI8Mh9QVgncQ2qMHFlP6e1oFrqKR+iNQDZRRECBBJg\n7KuXuQ2hTesX7hzonIgA36I0s45mPlBTVI1+4RI+tVO7KBJJuUQqljTFw6Aj\n74vwjqEgUzmvWixX+fZ5XPCFeZ8sW5s1B1JMhIMIx+Vtx/Q6wfZDFCDaxW2q\niaYcQ8C/rH1pLYg2g+5ioY8JW7sraWka64M2bVl6pb19g8U1J0YvOtRizU20\nrhTY\r\n=8xWf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqFmI0iEQvxdsv8Fdn6t+2Bgiz4MLJ/SKTusKsvFRP1gIhAKDbFGSz/WuqUojQhtIcB5cZmCHz0DsKLP063LnCnXFv"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d37a493_1603915623966_0.7554034221144463"},"_hasShrinkwrap":false},"0.0.0-5ef5aae":{"name":"formio-sfds","version":"0.0.0-5ef5aae","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"928dcae918825bf5a11f172c399ef02f676e718a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5ef5aae","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-yOB7UOuigl5z5i9Y2o2rv3TPi4zBkFeO+YaInUuxztnDa2neA1cMX53zdrVCPzIDpQEAOpQ6irtOidWz6eTBpg==","shasum":"44a66c2a5dd22e978e05dcc03b24997dcae54b71","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5ef5aae.tgz","fileCount":253,"unpackedSize":848889,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmdDVCRA9TVsSAnZWagAAqAgP/Ap6E0tlZQMqQyfOob29\nybGINqtjwoPUAsunrV6pKxRfBxDbLbsRrCIRtSpvC4rD4QL3JjKTUszEFDAz\nay7hSDHRZeY4P0VNf1oK/rrBaattKOEVKeTYjqULVuU/CCy8VhAo8SJUPZtk\nkg/3MxVsNmqmKzIII41CIwdD0DJu87QPXFHZRQbEx03OFMKcozxDKltVl4Bo\nPYOJ2fxH0xS+k8ietBmr/gUVFn11VSpU/9Z181ffyL9KpNYzyk1YUhvaf1Vk\nQZpHufdG+LBVRdciD/6TiY5qkX69WGpzYvj/u87sfpwjI5STLR88bkb7MFgp\nW5dyqN1olBZ4mKScOxJG7NhppSQCeRHDhB5WFRUaDpivmUpj3VTRnnceMKlh\nS8mVRStmywzxEvLYPwJJJ9G1VNf/Oy2Gf5pGn4XMil3Q4zQ4hZ4o1FIjzwg8\nWK12MA4eox1sCMdVN5tQcUAS1c2lww85K1pYkgAIM7QMC9SPax1qKgsej28M\nmt6rEaoQ1tDrTgtPCASSmaX5VHOzHCBPh24f/PNszrzU/VpKDNUtux6y7RYN\nz72GFITdEBg9PiurfFmOeRL5QP49QphQ/0ojlG8atb/jwLxSqz+8IDzCmwnH\nQYRayWpHH1hg6vkBTwcSrklfIDzgEfERYd3T1GlsjeaboVLTVESgsjSoGAEF\n7Czt\r\n=Uy/A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDG/KUDyslTo6K11Nb3HZpU7eXJNh2hSR19zrGickmHwIgPca/EGP0ohClKfihuOOEuMiylNmWo4i8ZV53B1cyYow="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5ef5aae_1603915988509_0.08559885560173486"},"_hasShrinkwrap":false},"0.0.0-45310d9":{"name":"formio-sfds","version":"0.0.0-45310d9","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"87bafb6b3e455c2283b41005f89c3c548a11a5d9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-45310d9","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-k/gq3Lio9AdRz3aEqkc586JCOJ/HckPlv0DcBkYkZUEP3uf9iXxwkHXYHpo6sZHKKVTCOyH9nc+/whdlEkY3kw==","shasum":"913682de154388e7622d1dbcc863c16381252b0e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-45310d9.tgz","fileCount":253,"unpackedSize":849328,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmdSDCRA9TVsSAnZWagAAsS8P/jTRj6TKMlEz23X1cqaz\n2UiURJdFynOrqePf/N1k9EFPF32YtgGDhi6kKi2ahHvo31UVyqT62/hgpK0g\nUMChGPN+tdg9dn1OAADHtOaW+HrOD4Jt/f66W8fOnFSt+lKR5sKLDjbPCO+W\n4FiO6HMn9b936yrraV62ZHan47sIKII64wgQNTkHsxyDjIKtb+NpCLzzBLJY\n1OdT9SUrdeXBieLYun5TyBdOp/4oUTsBpmpuYHgjYQjehm2PpAww+bU/BOUf\n+g75Ny9N7r6N8wgAispK9G0uO4CHXe9dpEhAkdpIXIHO4kiu5K8t2jDQ60CF\ncd4FdryuqmOC506K+Uuf24dbX+FLc3i+8PXSlN4Bxt9Xcnu8hiSdPWGNc+bJ\n01nPq1hWSruOw8l4+MSaaoRi3FfDoKVRKCVcbyVKyhrIrZp9GxA4zLmUqhdO\n7QHvEAkjisRZQ0+rUYnhCviazFDxSBtU6KyVA8MkBJAKIdr52tFI1WNGZ+S5\n357AH+if7NpN4HSeuJUpHf3as5iPVwdV2oi31E1ul+sZR6nJxdz82ColcuA3\nQ4eIumWmS3DCX2fqe7m2tntKE7984wP04XApfV9HMMyQZ2OIEd81gEsu165R\nju8bHFnD1vRGr1TkQJzXPCxGOHCbBBgsJDer96sHO3KHZAIP3Y4bHK7Wf0pT\nZ1wO\r\n=wXIh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+rJxtDixim2H9+HDylGQgfE57SmqwAQcL66eGUPtUigIhAMgra4lqgGhDM+dM/PmKIAqkc3vtMZVK/IqQ6adB6b+x"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-45310d9_1603916930863_0.04962588525894307"},"_hasShrinkwrap":false},"0.0.0-faec687":{"name":"formio-sfds","version":"0.0.0-faec687","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"f695e70fb6784d3306ebcb657af9e44416d8f737","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-faec687","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Wq3QzSai1JnquIxa3PHYKouPfOTHuPE9M7gIDkC5JQ7j5Y573Wpm77cKym66QZwdRg8yZYlwap0gAyk5iy70MA==","shasum":"4c09f2e797c71f01b376926231214f1821cde914","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-faec687.tgz","fileCount":266,"unpackedSize":937151,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmdYiCRA9TVsSAnZWagAAzBUP/jgxcwUq2MTCWEyVpNQj\n1hh/qVuEEJJiT+9cAoF6Ne0MGkoOTYTNhPD7QWYNqNKGniiAw/s5sgn2PyR5\nLWpo2kQtQnjN/kiNGm1wfmB3gl50EXY08SptosyRICdTSGyidocDn2csaW/L\n7/Vq0EhBGnexcW3xRZwJDl3O5/XZ1xN5rtCBEIQrzbtK7Tc22vpfMF8vDEtg\nlYmgj+/4IRpShqSMhoGqXoXLVtoTa2Zr8bqaWWX0ETNHo4MBpGaE4ubFqLrh\nVvf30ISaUA81kZW1bFPN4I6ZzohtZCDja34vBEafIhapitaqpZbWAoJhcoPR\nQz9wXB4YVE3Iu0zTRih1dZmXlYupk54DNABvlt0XwVxUmSZ83Ex5RgHgafP5\nbAfZ6g/2xf7mr967hHcmsGKm1p7TJ7C7J+0JGvwKOxsWpLLKnI9oNIxeVbES\nHXg05qrKzF5DsgyYTmP0yWTiM4GLbxhrZRtS+gm1zORmCE08pKjehxSFea2i\nHUvpLatrz23XtpYXJEEgy08nscBy4Rj618QzxrjiH/o96T5U2jWIr/hSlMB6\ntgvLPaLw5G9jPJvvHII3zGCVYf5QW177NOr/OJDcD3O6iv/owb/aoTG/jrVd\nBZqlrSWxqnkZqCpync8MpuVvLiHV9HD1eqET0DXhQ+rXfhH9DSNarzrZWFQZ\n55HB\r\n=gJG+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUMB5NPhGTVKajfQyuhm2Hp1EOU2WB68FCk0w0Ng+s0QIhAI/d6zc3e/IrmN36xCYEatQNVd7Oh1EemHgOY766sz70"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-faec687_1603917346220_0.06001687012200896"},"_hasShrinkwrap":false},"0.0.0-2b5db0a":{"name":"formio-sfds","version":"0.0.0-2b5db0a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"e405367882bf45152e3190700eede6391773c92b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2b5db0a","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-bCjefq873Kjpv5gOLd/m+B+WBDJq2IHc7+kWtYD+/ji58TjuBIqbw9qOXpbnrzZaZb7n9HZSHaudavzIti9/ag==","shasum":"49842286e96b8ee39d2fa4fdcad7398ae9fca5cf","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2b5db0a.tgz","fileCount":253,"unpackedSize":849233,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmdhTCRA9TVsSAnZWagAAlOwP/2ctpNI2zPBxtX6cZ3wv\n3jaADDg5dAyzxueQaPDYEMniLyOg2PLAdXUkjEMMQy3IrspfxrmmjDPngJDa\nYI3KIXcI6hg1S+TTPXTWJB2HxCOqcDhgmRSoa/MharirsHBRIKIhaB0tsyux\n75aO8pbrbiKbKM4Z4i0v/iGcZnZZzDL1WkiSHXT1ecvDe+42/b7IVFphSgUG\nYN2Hw3s5Q50FFfq9N9Mj5/iO1dV/CQ6q+DYecyMRU4vVvE4O8OHLZ/vavvwc\nBy0PoEljjpv9tVzfdHuhBGg+h1Ak7lB4galxKYJtWd6WFu52OcgVhhcNUiRN\n1ELhn+KIgOARSXFymjToyEVUoU5jN/BtXMdM6a0ablb+4on1IzAAHE2xJKPL\ntrWSQ/JXhWWLUcMulJMVav5C4FmY+a4z298HMZwwMCRnEPBvtzDKYES+RWgh\nI77QQxZLDqELkJgyVbszgOIx2ukWzbQHu9uq+F5RtLUfCTT+akvuG1BKlcPo\nwDdoNqOYt4H6492eoEyJEl/urhWO2wQuZuJ9vRkU1kQQyXx+0ajHwuRjYGtr\nmzsgGhLqRP8sRwrbHK49zriV5/JDFxgtGYFEm0kLJWDcB6+Y5vS5i30oBBY1\nSCN20Uqa8es1oQP7SQ6PgeESXALKb1xA9n+Ub32hHbVuGw+wHAsQipl7Hzwa\n2SAB\r\n=uwWN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCquXqBo9fHMfvsQ0X0nrwrA89D2qqmhEVv3t0jev1o6AIgbvpywTQljN08cUUuJOp/E+HNkKK7FGZtif1mgxoDsIw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2b5db0a_1603917907038_0.020020993318687452"},"_hasShrinkwrap":false},"7.0.0-rc.d8712a5":{"name":"formio-sfds","version":"7.0.0-rc.d8712a5","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"40b0482421ea512224529f30479529c75ac1ce62","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.d8712a5","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-MS5TTpUPCjCp8etyiKDr3yBcYLncFBmaWOe5nHNrA7V+Xlvm3+g5RKCl3LpVaM8PN2Bfb3JQNDsUdalBwN+NjA==","shasum":"caf7df70d709c12677cdac555cc0939c829322ab","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.d8712a5.tgz","fileCount":266,"unpackedSize":937154,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmdtUCRA9TVsSAnZWagAA0dIP/3umb2yMzf6Qkp4/0+KK\nX7gbJgi44sfIZRVlPnooA7U5V9oUKoCkCYTjxcbS/g+8lqxD/QMc0afdVcKD\nn/rCQa8wji3MwORQX4b8btA8LBcOB/i4otGNqZ5NLDndEziWIsxizj99Fl/X\nq0T6AQSfBwzGxIrMli4O997hzaT/QVNHAb/9dGrFqUzICz962gbF3EXsIlj0\nYr0RP34u5eurkeov8YS17DtNLiOWeUjtS6UgQHr0j1RJlFLZ2WLZy1+BqHZ6\nvrhtMxwdiULcZtyi2xnvUi21An441bTM3ikW/7Wykz36ngVbyUPwPxvU0og0\nYD9S+FXzZBx6PZgZnK+P/fB/N/bL5XKV+WnVTZtWe5fPZpHOajyert93waJg\nq6GtOye1FcVkQ+LJpqcpMObx6cW0LPqBS2KBFOQ94pGBQfxvJduPBqq3uD49\nFRyUuLkr6IyMV0Dk+5S5rQUfL6x2sJrwflbng/zBgkcdU1SRMTGA6rUD3Lvl\n61L7DvZitKXmPdI0b7S5W9xyTM44UYmd51vK/3lJSGIrnTuavS1bT5dOjW0R\n9XMPIY/KvdehdmK7Vzu6dgyNLRkmIq0u5AQ5XNXTtKpj4OC6Bll2itVOq2r+\nwyUehRf8tRFW5KihzZufDicJs02n6/2ePSPCURrFumLuRZRpWY1OvRQzrJUi\n3/h0\r\n=l+xm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVikSMvbCZEHZ7cbww7aVUasTUH+gcqK8pMbblxomgxgIhAMMsIxWNGEPEUGNJy8KZtfWl31KuDHxko1UTSUPU2+9y"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.d8712a5_1603918675437_0.6980688168250433"},"_hasShrinkwrap":false},"0.0.0-2ce0a62":{"name":"formio-sfds","version":"0.0.0-2ce0a62","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"41fc5fb477deb45650ab96ccd5b48b08dea4baaa","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2ce0a62","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-QKhE6LoZ0OCbg2qnqEpucQKAplpy4XOjI/3k9/Tp0r60ptFM3T/g3zM1Vw48GunBmGp2WeqH+rRhrcw69kuiaQ==","shasum":"90d571bd41f6443c682183cdcaee5ac104aa117d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2ce0a62.tgz","fileCount":253,"unpackedSize":848798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmeNKCRA9TVsSAnZWagAAZFoP/2b2LTqtO3p6OAVs9O2N\nKduXP9rCSRSONMwf5gmXOfbq1/E5kQFvlprIKKSMiAl9P3kkDGBK7wI0AeP4\nUu7Pe7c+9AIKNCnhz2TfFqlvKqnGOo5Cg2z2hQQg0j+pAimomqtatk7PXLTC\nKapoIcbiz+mrtrHCi6fE2k6KdjtJQPt0aUuHRosBnXgQx+O71cvJaDbS/irc\nnK3dLmGMZBls7VVLVy3Tmp3SCfC1RTRmc9nBTRLz0Ij98ngXQg9tAS2/r9XK\nBWj9itxmCsX5tMgmvA7eBfKxHi2ZhzHxpQVbt04tGK90fec9z9oRX3IrqVKd\nTMI/f3Qn5VatvUb0BUun28X3YSEceo+rRLLCyoMmjPcVz7KdyextgORUKxGa\nV/G1lyRfXDPc7lJdzDpAVNBc8KtM9+uvi2+lCs9gXirvuvxdSkZcPgOcUS5c\nVxWtXRAywd80iC8EzPUIrQwYc+GG1vBUocLZN60FAOtBSIDgfnGgcQlhwg/j\nl+2ooXYSGu8/y6qIguB9Lx7sapH9+Qr8yV1RWUMtuA4DRWC2jLj1cRmHloBk\nxkb+51eiFRKgbUaDQDplmie872k+RAZNFel/Irs1QKRxknfXXO1b/nguVSht\nS5FNjePmLR9IgltsPF/KNUOzTb70KFI0mUu2T/z+B8Dzd9yjQaivfdkNqTkd\ny5i0\r\n=Mnpe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcNyl4OvlrBdCxPjPlj0b5jQJtOi7Lt7gN1LSiuKadUQIgVFiuhYnWJ39rFcqF4oOrLdrJW1/GdkywwHLk5GSfo/c="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2ce0a62_1603920713939_0.566954833355019"},"_hasShrinkwrap":false},"0.0.0-b5d8074":{"name":"formio-sfds","version":"0.0.0-b5d8074","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"09f747fb4798f6cc39266733089d4732ad02496e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b5d8074","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-RPM9yHiA1qEOK5tNKXlgFCHTR0N7iSyOaWWjwT5zo5kEtmlfs0tO0s5WWlxh5Bo9mMk1MNrCtrnAQGdAcn26kA==","shasum":"d2f573b04d6710252d1109cd4fdfeed9a09fd734","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b5d8074.tgz","fileCount":253,"unpackedSize":848798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmeN7CRA9TVsSAnZWagAA4t0P/28MvD5+hVfW8K4Lnh1l\niT67KzHDykIPRRlbT5rQxIdzeSb1n1L5N1Wf5eYkJM3Hz4BtvItl5sapCmIv\n9euMP1GQ+OFDboU052B53ZxrRmMtXxzEXrd2IZND168Aq+OBSOzAaC7vtock\nG+a3YO+PB68NX0hZ1xj71LNV6Fv+Y5g7n04jSTjb74dd+hZjSvKyh02DAoiD\n8dR4YMDrXp1579MUEC7SwEKbDLAt7h2tKpPQNOURVKN9apXsMzepsINyt4z9\nSWTs/RG/EHfXcKs8cZ2xp2nLVkMYLHBBqQWWCKIjd0QIzxOByYOiSeL7G78o\nH/SfMF2uMglkfwjUQ+dQr7wAN9nTWxFO/d9JaW3iUvQp7eG0uMeyVKJHEBKE\nJWmEXoPwunkDb2kDtAmF2cJHi+NpKcqxe0JN1b2cckSWPbyi3jjYVpct6o1v\nDyMdgaG1uTtU73CS7f388Kbc//sugTGwubZO444aSTksftIKQunxmY2/YI7C\nFnCCUqcZajt/6CoeguodbxTA2+q9cQuu5VRakcsp04G/y8koOwedFewjgKlJ\nPWswsEVYv742xYUE7RCNda7729Mqjo4G/ddvNkZ/yclwDMLowcc4JWQbG/Yx\n8fqA3nPw8nb2l39o245W8T89m6xBSF5ifiG0Qku9DQ5HnbcXGgoz/FVXouVw\nD7Kg\r\n=Qvzd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3e8QNiYHha6vmGE2k5cChgW2k9xm8CwNBUzU1zbzuYQIgNK3pU1IYo5EhJBT1k2hjFbX/qz7uzZJiiIDrRvlSW58="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b5d8074_1603920762697_0.8717621141719569"},"_hasShrinkwrap":false},"0.0.0-901b91f":{"name":"formio-sfds","version":"0.0.0-901b91f","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"c2f1cf10bc7e3e32c5abeae636043c314b14da6c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-901b91f","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-TuFPJRD4uPXZqGUSFs3UvsKpUKJVQa1MDGSQspuKn93c3QhSuR3IM3E6hVsGdfXRuoOPP/q5awaztpnxBM+3xg==","shasum":"fb99c7a1637656014d7c3964a23fbede8a8c6fff","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-901b91f.tgz","fileCount":253,"unpackedSize":848798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmeToCRA9TVsSAnZWagAAwvMP/2XMz6YNx/KaV13UhxrG\n4M1FxpaPlTt1ekQZM191Br1IlzSUeOOo12NLYtL8PGN7AHpBdS6wN4inqGSx\n9Pi3sT6ryAAOBY2GKqLDSxEsJ4/QiUMpfKoGSBJmqSnDOxePzw+dngrOHcd8\nLBqqqHQP/V3ZNWAW5sQd5PUIdy0pt2r+5FZ3WxG1lWtnpoygv0OS6W5NYpek\nasWwL7had44SCOXEj9q+PiYCwb33uyUtcwfBw1UDrSAg1SlBHKxG+xn9cgdG\nxzbdRw2ld35Or1PT0BwD1Ps/uik5xnN1MptokAedSb49f5xQK9Zny7nNmxGd\nPN7rTXGIXl98EwPoLWpbhqGwOwgXMO11alOgSB+bL8enWCnxN7+B2fD8AOto\nsJGeCHw/RLlfh0ydgXh913f7+zcvZNLJP5Xv3S5Om0hskBFW3YddilAGInvm\nKM6e0Dt4Pl1B6Q1P9+8/TB9gwNZOHKj9E0/ADazqkxWzV+6rbVvU4QkU/tTu\nzYdOnwFUqmq0hNc2cNnzRkovIbMK/mUbna6SZfxtDvyGV8xBheyveKKByFzO\nUYgYaoNxOxGKpmcbH2vPXGOWnWOu1HGih+aKbbJaQxIexWTDFFufr8R0adkQ\nxX9z4CU0mefk62t1pycu4XeODa8uq0Da8gwtn1fwabT6b5RUF3lewdnePxet\noTHC\r\n=oe6v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDXI/Kwl4ep3sBY5Nr7JTqeJc76UKOD5OJMVR+cvWKuNAiEAh0iGRSllXtUtu8guwfpDxx8pscjm17SUEaZYzJDzj3k="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-901b91f_1603921128153_0.2632616592994621"},"_hasShrinkwrap":false},"0.0.0-5aca6d0":{"name":"formio-sfds","version":"0.0.0-5aca6d0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"7e0d7f606943b6529099a81adc5ad5b6ba8de527","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5aca6d0","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Nj/F8fCfr0tX+prpO7H2vsajMdW1f5revir+6wsOrx+9p9IiS2jXwqFtbD9PROsJ/9wDnrHkO6bgh8ELO/v6kg==","shasum":"e309567039056c3a0835952746dceb84000b6f8b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5aca6d0.tgz","fileCount":253,"unpackedSize":848798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmeX5CRA9TVsSAnZWagAAQyoP/jz1AXwrxOaLSPKuubTD\nucwgHqFxLnv7YdQW5F8Ih2Y7p51CZnGJljNpLfM8Mhu8aAVIFXGO7Lke9R3N\nC9D+6E2YIGclDCdj8o9Cm3DYJ+dIiThF2N+LsVC325CrK5HXtpSQ04ylNkya\n7vPfFn4OST8T+/xPPzZJLW0dZ+gQGthj13gCLNy7SW2pvjhQdAo/m2am7XtM\n1GXKgU24EO9OKHVKeN1sNt/RXgxFrCvBu66BSgf2jwJ8u0OGuiw2LRLItNd8\nPQEiyr5pBj/O+Z1FzJcEKrPpZEbAmUIO6zn8WkiETapi9qZir+QISgZp0Qok\nlXsm3xttef3kdoooPHIh2uVH6/9+ogPEY73AzKopp9D8s0ftPUsR6kRJstgO\npeF3MDTdYyoDcm5hgcbUmmzMk+NnMyClTUxqxGMllsAK3D5jUNBzaIZyWCTj\n9JoaL4s5qsCTjgLeoLApZNjk1ewhuRG68Mp2MD84Ev87GmRogY4xXE7WxzW0\nI95U3IYfHpRJYOlb07uYbfZ1T9m7qabzKHFSW6Xgvvf9zupCXW78tLmKeVix\n+HOu9w39Fa6PJm+54YU0jqQoO2Mr87NIY5j8oc5TFEs2QFU3BQJaoqxEnIup\n7Rk5amkZNm/PngufxL6kp65W55kzWuvzILvvDbjxg3EqVNk0zWujtNvLb2xh\nWxnI\r\n=yh2Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrfdeyeR6dQgW4kHLgL2gXzIhweTaguOebVx6RnAlHBAIgPOw1yb6ll9wvgNoZCIr/729EAfzxBHy+EmFh5SbWtMQ="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5aca6d0_1603921401488_0.3525403049135918"},"_hasShrinkwrap":false},"0.0.0-20c8bcc":{"name":"formio-sfds","version":"0.0.0-20c8bcc","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"0541b2714e47da0fbd9cb2575b2ead1ea7c1ded4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-20c8bcc","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-PA6Luockj0khtq6oIXuKNIK/aw+91Y7iNX29iQQtawG5pnMnK/YIts5fAsY6ClgSyOsMn4zwiAi98iAK26wEWQ==","shasum":"6d05e87b4fa8cf44da2d8e4e8a4afdb70d40a1ef","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-20c8bcc.tgz","fileCount":253,"unpackedSize":848798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmef5CRA9TVsSAnZWagAAI1kP/RCUVdkxCu+v3je8lMJs\npSvAWMqa+l2v1Us0YaTnUhjVqJMGwCCbfXCKyHwjGOYShx0ycyphjjb93bgj\nI9IC+eyE4tUgOz3fzuBGm3tMkb+m5jx37itximsCtNEqbOERJOdSXMPtieFf\nI1gFL0O/+fn9yjs5PybhQuHCjUa8xyafO/bCQqGGpDB4Mvo/kusG6qi5+Mlp\n1NgBdkOA2SYfoKVRKgKSI8YblMPFirFUoUVth2vD9lQeGkhjPR0yMXHSbn9L\nBdJETu9jpcci2b5JXjmvhBOpIwo/0a8Bv7lSCoc3LXbP8MQ8yPnJtzlS7+XD\nzqJQXJIhp/QYLza3V5hDEV3Zm1b1vihJ57z98gAqpKu37DQ9WKPL2dDxJ91d\nAiJYRy+arso78EvQomng+6T5tpL2mEL8UinczbRWCSYC3tVQ7xsyT974sicd\n4L7f1FHQ9f1SR5MsaSUZAQJk8nUHzcy+mbO8g4QCtvZVLfdIdpTu4DFXFSwJ\nzP13RKbAc5DxtwLE3w/pNCE5Y3NdZwmJQ3R5IQvjmxE0QQe6x/nQja2jLEUd\nkXI7lgKPzhInqvbk7qvgbe9cf8bd3z7vYf2SFqkBNzc0szSpBR7+M9Y3z6YY\njMeoYHnV8DZJt7X47nJYnd36TUya05VBDqPvnz9rvw6lbyLjpUEoqxJOCumw\nQPDv\r\n=y550\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAkZltf28DZsJB/s8aN1E7OthqlJu7uQPkviXWR88e7GAiEAtmSHBNNePctWGj/A739HzEpro6mbwocM5BUhEOpw/Hw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-20c8bcc_1603921912634_0.5636425180149656"},"_hasShrinkwrap":false},"6.4.4-rc.ce77499":{"name":"formio-sfds","version":"6.4.4-rc.ce77499","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"4206e6fefeff5a1fa3101839fef8923d460974e9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.4-rc.ce77499","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-jtpjJawrXIOB76CtnUSZlX2/zJpQdQ4Bh7FAzJqsN6ZuOt0FmBi52ed08KnfRWEmL+35A+IfA+39PQrpnpNSww==","shasum":"50f6f7882e397f475ff136f2fb57ecbb879cf79d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.4-rc.ce77499.tgz","fileCount":253,"unpackedSize":849236,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmfKDCRA9TVsSAnZWagAAGMUP/2X2MpSbdk/+ZyJ3OMBW\nkznEc3egZT+2yRflH8ZP4Dx6UKDWc96qg8py93WMF8xl02BZ628cugeG+eJA\naO8uZ9LWo7iiCJWg9oEUVLX1jQ/+MWsfmBDwj113v/fuQRAQnsy6RWe1nznP\nHh2y85dQLQRpl+uS6yqZvoFYqmKTYT6hxIE+Jcvm9fZ+GtBiwB5oTaoiqRo0\nP439bAGXfkKMRTiTgWYyrNhxwJyZ7nqxxR2UeL2U/5JiN1SebwmvwpgXeUxG\nnHF100uyDxQYgkzZIxafBBItNzAApV3kSm6aNXbu9PoSDdb7XPNwntQJcK1a\nor+Jwn1oi99hTUOVfrwZuWsNfnmbM6569YS0klw7wS2dE/FPLnpz+6wKm8pP\n9F39Lp1/dUJrOTgI8Uxe+r40gvxd1c5eqa76jiV+oqnXUy9rJJDcnhE+6Luk\ncEf5pUJZ9lo+Lm6rnaLnXaJ2kW5fGf69CeiXk+1DoIofwaKF0GQYzGNBEvKg\nOFEYELbokH1K09vgh3+Nt6+3cFtqqvj/1Nd2K0iqdPlS0tI9YBFRVreQ0gvy\nMtvIROEEFjRMMit+l6+KmT6dRcfKjTYA82fn0HG/vteKYqqMBlXshofDj6Gv\nCnSTKfAtznu9oWMNHZJSkv10kB23Sxzv18UHqEjbRfDA1O7zEk1B0w45SQT7\n2pUn\r\n=DPQm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGO38QWZ00pthubYlbPol87WbderEbcO3G+j8HCNiQZYAiEAshNnBpfd2fjUU1hQEpQga+fNB4AKGAZZsl7ykCBsPmk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.4-rc.ce77499_1603924611005_0.16823690785896628"},"_hasShrinkwrap":false},"6.4.4":{"name":"formio-sfds","version":"6.4.4","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"fc189e638ce101f8b8816906a7e72334b4f5eb37","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@6.4.4","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-S5Iz2vHnm+Sd8m+ZOA8pgSU1lN9V0QGwgABbnuV2s0HaRizNNKjnWW8DU+sOK459x1DQlpE/4kuzdpTpYadOTA==","shasum":"1c07bb65054f3bdfd562f6d3333e16657b7b68c5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-6.4.4.tgz","fileCount":253,"unpackedSize":849225,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmf29CRA9TVsSAnZWagAAlR4P/3cFSd5QN+R5/M1KV617\njcy+J0jkURmwDDWNNPFzJ05NhJUOqruFr6vA8kyK/nZUtLKExfz9Q999K+ve\n25s/3o6azeCzfNgGy0ikDyOq+nmVtw0jT9XIYp1rGsvgzAuJrHQ5sCcJ8PUf\nHGTWETUCgodyD18dNxPP+c3AfSK2ZK42R6G/qvywshcN6ArM0JEEYpx69NQ9\n3bchrALYz/nOT99JBwK5wAInC44H754/t8IfuxyHXR2uzzVK0g+7DAP1hEEE\nmbDHF/Qaky84KPRD1ao7W3IE3N8STvWTRWkmk3VpzYDWEV7BwRjnMYGxt5Lo\n/hV9y8N6W5g5UyU1qieJ25MgBoupqwEm3JXnW4gOCIUjPQC3GU9ApNwzI/jU\nSw+CXTLK0Bf8DPs2uxUIjRqxkvG608C/EvH8SVMOOsBGGybV0b9G3aVLibsH\n5gD//yvNMt8SCL+/7t9Vtna/AzKKp0x2q0qdYBp+x+jDm+hLhvAdzXxAu830\nvOtBll8QuJFldpx5aFwJukk3VQKKE8pHljMuWM+BroQu80E4cXxWxw2Ma+n0\nHRnxkADuTPYa89uK9jc+Fuq1UV4BXxEJ+cpnnW3r0qY4Rfn9nby7Z7hDg/2m\naTNPga3oo3FXm+lCTeYACThifTkBW+sQY9nLwwYHOKYQ4Ms0slnZ65yfEshq\nfQue\r\n=/SAs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDnQsruf9XoDpRB7+owmxHdSUKhgXqwcu05YKplc4fCgAiA8h80emAqWnA2k1SW/H0fl/3FEbq/aflK4xM6YZKuw2A=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_6.4.4_1603927485003_0.6184923309376209"},"_hasShrinkwrap":false},"7.0.0-rc.4ea812a":{"name":"formio-sfds","version":"7.0.0-rc.4ea812a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d35daad5b05be8180cabd6ee124fc793e6d8e0f5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.4ea812a","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-gV4ERvNyAdvrJhGPerhwdUuVTklAMCmw0mJ510uHSNF6irONnVlnHeNfUSM/oxYikG6hLGBLvJYBwg4bMbi8Og==","shasum":"b7272565db1ad20b91393583536c4c9f3864b671","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.4ea812a.tgz","fileCount":266,"unpackedSize":936164,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmvvcCRA9TVsSAnZWagAAnigQAJvO7SC2a3+RcWlQCJBd\nYpy2LBeguB0NWzQbxRJ93lD7oaU7e5aqhSPyD5xsYoYsnON52uzK01oXzOE8\neeD7FWAsfrTAULD1PfxJM8Pt4HoIjOukcwstdFe6pw/zchFyLVYKY1+Epb0o\naftEkdsIQYqv8G5iiKCfS6i8rNsdqhdEorZHC2319eIumdWCBPIXEG75JWI9\nWqK8KwSMngT6HeIR5QzOPGW54F+St5Y7NDyDu9ql3s6UbWEuMbxH0jR+5FNN\nlZMj7eSFO7oXYztFKG4D19K3yhpXbQcQzxTWsunKFuoYtOsJdOsm90BXtMdx\nv7qyfjMPl2MeXxmm2/+SqDXGZNZdTCnWP95eT3EH4czwwLS2934pNBt+K+/2\nAmkjtKOSHcLIqYaeCdfVagtcOR6k1koCuNhfGQz8kUQHuTb1TND47ZqJG4so\nWHYA3DONru5n+82btaz5hFfbSDWkv8Zbc6FM8DQXYM6iUlMnMqXtSrxByDi/\nyeGQvNHtcwUCDmaCKUjLoX4bYnGJHEfNgf1R4zs4DIq9wkIRkBKxWdg+LDqb\nV5cAZj6R7CV2o8vUIfW9dwj9anH7s7QXB9YFj/S95xQrzhfQno9tTw3HToFU\nhC11AymCUqmhEb0uxTZUyIyYyyVF5J3cdFAs/I8aYDUO2KKztlclMyv30J+c\nuNza\r\n=Lj2K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCu6JUO959s28R1naWMuj1wR0YnZFTg1Dy1IHil9I6c0wIhANrlH22zgDZKiVpluepB2VvvURddzBlTcU5FXgEaBlJP"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.4ea812a_1603992539933_0.21607677846046291"},"_hasShrinkwrap":false},"7.0.0-rc.39adc8c":{"name":"formio-sfds","version":"7.0.0-rc.39adc8c","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"3c61e0abde84581fa838e95d8fc7de06b0044a5e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.39adc8c","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-GXzdXPybnVJ7L/YceQ7OIhZoDKnaHkcBvvAv3Iw3u2TenKMWc1POrZlw0oi5FT5dgbDf9OPc6V9VFPYSrLgBqA==","shasum":"c371c3ada2a8ff931f6cb8488af408ee9f064a55","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.39adc8c.tgz","fileCount":266,"unpackedSize":936273,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmv5jCRA9TVsSAnZWagAAMxoP/jEgB1WeXrLbh7z8lDGc\nHxu7+piRb0Cl28SNVxLI/cxdj1sVaYZHKVVZwpzz3uOX9Vm7SLpP0pnqwqeT\nusllhb3rETWQfEXUFMkVmjhfpTpusq2TV+tdL3gw3qro5+iZyybDa4rJnM8b\neBUO0Yh6e0OwUk9blAMLeohOudxtw3Jro7+TRInlP+cUET8a7udxemiHGY6z\nNb1wX85GiZlLd5G4RIXP0U7TRYDtY6gF4Bz5hTKhWAptUKLjqJ4tbFDfJHhm\nvpa1fOoQs7qeamMvUS6dd4ELnJttBPXeA7B5xd2RkWrzexiAZOj3oeSIqKkK\nOFXBU2fcK6KLEwJ80uODk2snhU2jw6ZsFC7pZmaEZDHIgdyJfx1j+9aPHPeg\njiPYvXzYZpHqjCJQ2MTioLaScSOtDkXh1OXOc2Xs/1rS6MwPpDWosfT78kdQ\n6fdWdWfXv7siVrfAs7ul4bk7Mt9+3HFszNzKhCRTV1EkjG62cA0tveHXL60h\n1eeU2AXIP1dr9WzBet8cu7RBtJszzTiUxh9N299/10qt4JG307Yo4BJ6EW2o\nLHWREQWGDRqQNXDJvaeLbqlMNmgVRycTXilcUMsn9cXGzIUq+cFJlzHVYMmC\nfvtYIPmxNXo9vVNB/dHPXkywv4RxcdFYuOmKfU4PPCF4C3eZgV7p4SuM19Pw\n8X7+\r\n=AYQW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBTjOUbOF5JKkl1rv0ddXrJNgaUMrd4ki8Mp8ZKLZoFTAiEA8lEwq55iyqzy087z/6E+wS1Hrmi6iY2z6+xA7G9oD9U="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.39adc8c_1603993187248_0.40150740405139707"},"_hasShrinkwrap":false},"7.0.0-rc.3b6e8c5":{"name":"formio-sfds","version":"7.0.0-rc.3b6e8c5","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b1c58b0041a931fdc539497d584efe3a8cfdbe69","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.3b6e8c5","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-1ubCmeu4IKwK/ZBeFIy1vHyUahu8tB9AnrPz6ei0JFXD0JItxiTrAE7qvV2icjW5roIKtRGjV4DHav8N8FettQ==","shasum":"22ab26f36bc22a81807c2c8ef4d7ca6ae24fd0e8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.3b6e8c5.tgz","fileCount":266,"unpackedSize":936708,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfm0eTCRA9TVsSAnZWagAA0/wQAJZ+m8CeKbQW0lh0QW2o\nMmJtFEPHD8T88QfAz0xtem5U67pk9FV8+JyEA4niSSgb7okXIFeybVsIJDqV\n7bOyJQ9eKtQFhux/8jZyjaFz/wNUvz7ANLzuOREH0WrCbKC7dwz76IdfR1Vp\nIPONaSej5ghBYMh+rsauzQREPlyYePNq95M2IPFDLXx36U/V24RkIV/Taf/J\nhRUzgL0mSHp2GtcjKXWcNOKdnbyUJAuu3hh0lrZ2h712JYDx33LMhoMMo44O\nn6t5B6gbjUaIIBhi02td+w/9x9MwZ+MDs1HN4lMlFtqWSmKwdXF1dTJYu1tX\nxZDiTHxU1a6tRhtTwBTaAA0dUxm36x6juErmN5Uq2aPVyDye2I+E9A6ZDOew\n2c5Y8y7Jw83RipUSoigFq6EwWELtGxYP9z1kzUwvivXiykiuodaE3JfSgPUZ\n6Ny2laQbpSD8c0BDJNkPKVeBCgMAgwBZVZqNYPcJ8BvcFxvNOnFUX83Inu5j\ngoraTiJiSXVPP+MZWoeNHonEG2h25kQHAykIK/G9l6vVtzpyjF4eGMIqfF8D\nnjKnOwQ5prRCZ9aLZrMlj9mZk7bVQdzWalB1SHDrR/+wDahjHD7K5TeQGEGO\nNuhwGN0a+TyBG5NzcuRhuJlMF9ciFqegFrWS/p8IWdbCXZfzTjw0cr6LD2Z5\nj4lh\r\n=Ack7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuWfQ3e4L0Js8+W9eDo8eYXf/h/20EhKuOzFKubqZxmQIgXoo7csfoyNA40Ch8K84alF4CkrzWoXT3JEBWEovFH8M="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.3b6e8c5_1604011923004_0.7490713572579675"},"_hasShrinkwrap":false},"0.0.0-5b30235":{"name":"formio-sfds","version":"0.0.0-5b30235","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"57cca7769f01b339a6fd4212867babe999b2bf77","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5b30235","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-mC/Nosr6GEwQccCmOd22n1+3SCYZ7/MLRkRHnsGrZZy6ZIIgHJ4BtmjggPvdkIoeOi4aTjOvr4sahS4Peh3kaQ==","shasum":"2b1fc8fbf993d5613b397e27dcde84efa2def1e2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5b30235.tgz","fileCount":272,"unpackedSize":967714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnIYVCRA9TVsSAnZWagAA/9IP/0DXeds9PlRI+yY7/IYz\n4fA4Yylh9vsO+FJPaAIAJvG42mN35/JyDpSiOJkDDjdST3MNRWEcq3xxZ6mk\njsM9KmJVARFZnq+mT1qsAOJ1UhI/VHuIFCR3zZm91rxEcfxfrRcArxa6yoOQ\nru6eNTAAUC++ZWPp9nRr7bY0DBgFHCJQuObSt726LzVwvK9G7IjwEp0SPFKq\neMnwCxtsr8p7wj6bWylNqEqw/TA/s3IUBpQw0JacGDfpCcqIJDSKsind9QtI\n+hqBWMItt4dkswXgj1vkJELF8i8SxQKwkbKRKdzKWmKCT2EUplkgAN8Foi32\nl22YqWGyQAs/bTzJfEuyjy579JxwyePf8Nm4aLUPbkIPZJY8CmSXCSMB26sn\n8JCzmNsVP4HIBqCm6a3ODjD3ouIUzQPGi5pRQUbt1wCm/8n13ChXD1uNhLgo\nlhcL+gdaMcybjLKbvem1FDsuQmo/lg42JjmqviC7ELIe9SGhtMxvSDdPPYQI\nWICkHcM6uOInGAvA31TGhtswVnHbHkth1Qiq9zL7GJiLg/vP/5w5XMROXej/\nwK65xfhIT1DlV38LQi0TvUFXpsX+76r1TbRtrTsnppefOIin51OdQqy/wyoV\noZuKzWoi8BDBjgT6cZtjDIiRFbxueBVQIrjWq2o90xnsNmRXEnzsaxZ5F8FX\n293h\r\n=JDqN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHOGOBwjuk7q3NJVLvJeXh6Oz9Q+pymDRP23IyADmHypAiBOlCg6KvyKtWM0tp7XHpDkhvS2SeXSQTqbcMPkhXkvKA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5b30235_1604093460768_0.684280022312086"},"_hasShrinkwrap":false},"0.0.0-399be20":{"name":"formio-sfds","version":"0.0.0-399be20","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"6a6ef8ea3b59bd9cfa618f2084e68c32a70a8319","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-399be20","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-HG0b6awDYmqc4K0ZdOBQFWl3F3OrQEKqwOGSZmMRmGU86U2+U+kv4L+wpkJT2KZ3In0awKbdFRxgZ/QK0BLrXw==","shasum":"7fb0d1f6d974f5db35b40965c13532c6aaf2f910","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-399be20.tgz","fileCount":272,"unpackedSize":966316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnIboCRA9TVsSAnZWagAAw38P/2CyF1cyqqHyDw1XFtCV\ntKYHX6AOheOIpYcR9lzYrl/QOCt/vn5ufowCjE8H+Pj3mzu93zq7CsoIQm4I\n+a/6tg0drJkbApmcln1FklHQlfCG4YlKlfqjERf1QPcdgiaITWBp/xrROcbF\nShEQFOoJGo3std9UUTvjtHSHMyDjh+U4Ixs6tOo+vN0nkAOBBSzGnYJ0nGHY\nMAc/TwUrw+hLB/blBroikNfwnYWBjLgGDwsFr+EPJpLaAFWleWYxAxfZVzjG\nWEYg9I0g3Jvf7sbnLqdhk9CCDAriRRXT9hXuIk7HIdQBkZU6I81c4TQ3T+Um\nQadQoC1HXBo9IloALN2mjd8kmXTikapYzqjale6GcyFUBY5AXvxNgnLyQyoq\nYuyCeXt2Vg5ICFw7xIZl/21oY2lE/PSkM2xL5pxfCXkStZl4dXRMi50Zp+Gi\nsni+tTTQP6Mcvq4x1jnZv5zZ3jjAZTJNcRU9PVwx21X90gKCxiXdjHrBobuY\n7AXJ4AGEQECLgvA8/xfwviW7y6DVbub2YTXA21AbvY4gyh3rUOL+TKmhC79Y\n+MMi6Xc+tGIn6e1H7El+6VvWwmMz3oRbh3e7TrNuM67cpLascEbDyJ3e+jp6\nlYGJ+yV+zwbR/oeBSDYaV8oeMKeMDRfWasJqnr9BYzi8BFmJqUGfbb4ARyDD\nLzrr\r\n=MkeR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD09bNjVt7Bg0DxWcegYGl7qsyJtVRH3qRYbkgwfqDv7QIhAO41FOi9dKo4lRvSqQWXvVkwZ6X7xPJraEJqjMbkYRXD"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-399be20_1604093671927_0.8414955860135642"},"_hasShrinkwrap":false},"0.0.0-1b2ba95":{"name":"formio-sfds","version":"0.0.0-1b2ba95","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"2d279b2832fddc14ff1c725658e862e7c9744e84","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1b2ba95","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-uR6YuhbBSSO84j4bDChsTlt3kxu0EwIeRZIccTOYmTs5u4LSsg8nyZeSq2K7DSJDbMmr7K05xkbiK1RDdBmUsA==","shasum":"10d5ef4f0766d23a485472640b29645b85b0f3b5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1b2ba95.tgz","fileCount":248,"unpackedSize":942014,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnIqECRA9TVsSAnZWagAAmIsP/0Nd+bCmKykwRB4F5tes\n9d8kXEEYJa43ZOuWBnPK8H40bxJuqtsY6WzC2O7kQyEKV+Is3UuPTZE0kWvN\nhdXoPMxBbmZgAG6iqsQrQhs/QYNsrBt9VSljVaamRNzV4GWH7G3SQHcsKEMH\nOjpESdwNpeo10hZ3RLGUmgoITvi2/jGFIQJtyxTfvW0mHJ9Tbyl2iyVGxGkJ\nl4qy1hPwiW0crRyK46bLkDsxH8wYHuv5fk9XF5MA31Sy7mjuroSWUvZqn+3V\nEQ1MFv15TIXRS1E2ouH1M11Iu1LFRVrnFaOAtMMU3XM/s+7yN4126mbVeDwD\nyN/naKle23rpaTWTynWlYMNapdmKRebPjiEsMlOA1ajXQBTdNMoqZBgWrEn8\nhFPjJ0nQtcvTlusD7A6PKUmS4973y8GWsQ689GQDTqR2dQfCTDDVlIa1KfUS\nCADmFalMTfF5uQ+t7Kumdr/GAI+fjXR9kU9raD+U8qXwIb5gH4rrY7vQBkB5\nvcTr+boRJUG2o1LImnSz4eKsRX6TA8hIHZyyt35jtGljtAxpVmTruPKZ1LXQ\nXp5V2H8Q3G7YRl9AHH6XilkaPrgHsD3QboiF5m0s5OWVDaomqhxOdhVGdceX\nzOd86Esc+oi/ODGTBqy9QKSu7DGoZ2MzJ1WiyPz5iSh2fLgbNrkNSLbt8OC2\niB26\r\n=6SKl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHIpN0GxXTQElDNxMVdtDpzcUXJw2s/HRqnvHN7sxuw5AiB3t2lTJ18nBPaA+AXWmede7Xr+YdmkcEpEIjcmF1HMrg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1b2ba95_1604094595618_0.9807672540363146"},"_hasShrinkwrap":false},"0.0.0-a925bb2":{"name":"formio-sfds","version":"0.0.0-a925bb2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"57e1632562624386438065c353aa0d65dd92886b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a925bb2","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-CDveAZe99FWWLo6KQq5y5hUP9GDtFWH9tn6tH4+6JMRB3G8tNedvF+DRU97L/qP6FQx7TqLbr9R8ZE6CiiDGKQ==","shasum":"c71c09ebe618328ba27b40c4ab35461700fa03ac","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a925bb2.tgz","fileCount":272,"unpackedSize":968491,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnI8vCRA9TVsSAnZWagAAxasQAIbRfcV2iEEPMuuiYs4g\nCP/gZSw57djtb+sKiB4gK/r3qTRQyoBEbshkn8bfVMyVIlFV8RblNOM9Fu4X\nLdBIUO3u6ONhU8etV9/vqJbJ7/cyRwBvHqan7/azfaRr9N9deCYz/omJkWj9\nbb4SIWZHE0groA15uI63QLI0yd/3Y71mOdBdu8ArjFfJ1LQeZZ/biVu735uc\nQFaa3ZpOk1yYGBQdyuP2Qm9shNdRuXSM8elcV6JqqdrwWXVjqk7zu+Ng+wXQ\nx2d1dsGu0dq8Djk/oB52dKIxRDCqhtTlCHIkYRsXommKRbJschA+kP/Za57b\nqHXzereFpBFB3EbzfzXVApZC5Eu2rqlZHZUJvnuWQdhYGHf2jAg9EfdzFc4b\n0TvdAttela2HE0jImaU3VR+bNPT2sC6We15n4wuuqIGYQCVPa6NgpjFHqnPr\nsOFNMHx31wX9N2gLNGM4i6Y3TFcV9ECSZQ/76zNfG8i9P3jN6LPloo+m+/Kb\n7nGqDV/YM4fLRTF0WNuORVPVpRbx/5hSVKl1AJ9FG7mLj02OUtkjIxkxNzvu\n8DX2Qk9mcDijDtRDyPzphcQF5/xGMQZg9BEhJBRrSTfZvEvzWdIkHCw7zJpr\nlmyvkKdCTiJ28ZvWFCURCBAfZOf8P9YcUAIjH3wV+m+TPg+Vla6mjLqkd5/a\nkLmD\r\n=uBwv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG3sGf3rCLmCBH+06nBcvLF6ftCZDKTEa4VAsQscHh7MAiEApgN6WK5veAu2E0anM72TbsE4vXRn/S6d2k7tFy+dDAw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a925bb2_1604095790368_0.7364113138284092"},"_hasShrinkwrap":false},"0.0.0-8337109":{"name":"formio-sfds","version":"0.0.0-8337109","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"edf8b899c236403280c8966b3357f430ef7f6ab0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8337109","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-0sKMnKP2DITubwoEe9s7x5VZSzTYwKRZKZsl6HsdrxVFT1M2xODvIHuSkx3+RKJHQQ6sXsIxKlf7Ksy/nh3B0g==","shasum":"9679bcd5add87965862e066ca7458e75bf5b0b86","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8337109.tgz","fileCount":272,"unpackedSize":969668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnJSXCRA9TVsSAnZWagAAKeAP/2YeLAzCgh23MirkI46D\nJapuAlIWILI0h14HbVC/EkSiknmxPqUSbQnDQbq8YU3hgwCLR1TCjX/uGEhC\n5dQvGU3qOcodEWPRgpLH6cpD3mgQgW0qMSjadfrDPapiZO50nN7JI/CoZ39t\neqQcAwXmn0ZZPq7k5WRbYDIc8Nk+jxLkzlN7ZnTbw+wwP3gpjk0N8iu7hk68\n8cVF9iVX9Gi3UjVplns1K+ldeXIv0cbTSxdmtNX8a+XZ+kN78eq9t3CyNEft\nkF9a3wgYhLEiT1hpIRp7fpMGeUKKX+n2Pj3jSo0bfde5OlPpHko226WupICY\nLynKUamcUL2RnyxG6oAJ0WW1gRYFQMCwipuRmKKUg3x27BvxlToyatM1R9gk\n34yyypVKGOohkLU2Lz0F/YOKfHxrSjmlcVH8EtcyTyLMOhsJYdobn/ZSdvcU\nXHT9o3Mtk7GqXr+aSJjYaxyr59LGdVvZ4Xal+jp311HJn8kcJwtrIAE4laoO\nQHPw8GW5E3ZoWyI/GPvQqVJ/gIPFCGOiHlHdWnp3NHY0FWhjjRlh6scsYT6H\neXBX3qPC6DoeF28wVPOBWPCwmiYS0rPaRMtbPaWZZcNw96RQVa+8hx7U++nx\n3mcOIs0S4GtFfz8UbdS5FapJoiYAK4jjffmjxgnDfFrDMzqm66oEOmfZuPyR\nw9X/\r\n=pZrp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnVIShUd+gUMcm4PUMmLZ2JCghGkMlRBO5Yf8zqzl5WwIgSDN4CIKR8zCimuHZ0KCWvfxsqoGvZkORajDnNpN4lKA="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8337109_1604097174511_0.9126434579862488"},"_hasShrinkwrap":false},"0.0.0-1c4baa3":{"name":"formio-sfds","version":"0.0.0-1c4baa3","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"9a7e26ae5ed30d4793f7de8017458b4fa87ecd3f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1c4baa3","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-QcJtSIl8lEq72ThjzX7VVGwbcKxUQkKBw8gpKqV2NP9N/iV3VxtSwqzcM7lDPduU3FQNYASkho1bwgU+q70y2w==","shasum":"9a537559745a9d338b8a5329ea63da1fc35d73c2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1c4baa3.tgz","fileCount":272,"unpackedSize":969979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnJUaCRA9TVsSAnZWagAAhZUP/0lGWmJp9KA8JhE+8MPo\nC396YYFf0GDozfEWyAPdoU2T3nk1BY/WeBM6QrY3sJtiBidSs3bmefOOv4tz\n7sv9I6LP8Axle0KpZl9CfGF10fCvUlCdKVm+SS4NCj1ElGv4ISYXb7Wpvviu\ndNWQKHRdPY1JbAjDghfcqigFvf9tumm0Mz5SyG4J3FNyCyKS9tTuxwBhn6Cu\nTE2CzoLTE/oiT4hWfndp2VvAVssJT0z/hDKt9Zeq7iuqogvRkdxtZGwmQpBo\n9uF9N9xvKlNJty23/bVcsmsFpfcLDM6ZT1nC3/RMsIW8jmV96sxDiXsYLoph\n4oqr1KI9l0mSaHpVBaxCl46aMK07H2agrqPEfd8HoTQfwlztlevGo+7uu6l4\nE2a9Gdz/DC/xclgpgb8IyZF9C0zKEFp24XIlbpSAaV/kkSwrYzGNXm9x0eIA\nYriQi+v7E06P6vbjsSCynJPc2nl9OTqu+WtrkjgWsEwnR0LlzaB0WEJoYfRq\n6nRx/p4u7xiY9VcTdGH5NyGRRZPoiMtSwXMfV+/ulHsY+kv7R2VANSfCjRSx\nk6apKv6soGbCGGS/YC/TYG4ab2Y3VWWxCNJ7KTo62C3Gg+esKSlrcaT+46Fb\n0bk8Lc6ZvjgQn95IpGvzxXGWFRIU9yXzhUQOBgdxxCfACGz51SO08/Ncxf7r\nyVza\r\n=W1gZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9vD+33WoQVO+WRV2CuD9QroTP3UKI1iQOMgr1gD8BRwIgGKzxVNO87wHGYiKYvH/YCEh/NNjyLNIcUxQDe3Jd2KI="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1c4baa3_1604097306423_0.9620247623010274"},"_hasShrinkwrap":false},"0.0.0-e59a698":{"name":"formio-sfds","version":"0.0.0-e59a698","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"81c970c968c911ebefe75102737ea7993800f474","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e59a698","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-I5oc4QgEUxhAh1YKdEKPmywHiD8MmgeuhYeM9Y14jzrOMX2G/GwLN+x6WdCdmpPl5NvOW8ptdOt0RRba7Bgpvg==","shasum":"7eb4e31ae8fc0504066cb3cbd1e90c77f521740f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e59a698.tgz","fileCount":272,"unpackedSize":969979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnJYKCRA9TVsSAnZWagAAFuYP/05g/bpDeOonPa1gkMgg\nd7VAr831QqXbo8qfhKeocrhcTENhYrvmpbRNgnvDcuxkJ7LOhXDYImS2cQPc\n7HbkFzTfSN7bUs8kEKq6Dc5ithDQ/PZguK3BdxOE1FAg4w9yZ4WXQuxnYqNH\ntu5BVpyZuk+WqJY3ZjPO9uObHZIpHO1X4Lj+3xUiTEzR8pXvh6ezpNZIb8dv\njUf67Ih8VvQoOewpMwYqaiIJHRrqAtC1mYdZGSXPeVQIviNOoPhvUwfaRLdo\nNHCgJMdK4KIwNcpsCl0xV2NzBiFsw8OcC9TFyxFgL1NMBEJJnNdxjbVH4jZ3\nPMMTwjNxsmtSy3/J43RymiKkCU4hxGEZZGBlJTmjFRiKxFyZzoV3tYVqYfQy\nJwNVGPFqHNyr/SlyEZ65weHlI0Kqy1kuaHKvZljWc+iI7iCOVLU/KeoxNL6e\nHx/A8R07J/NOn3SjUawJts280uojnJ39i80CE2XoXoEq1k5xXmZuCsBWI24D\ns1MRKHOheqsYOegr5I6TEzYNU7n5a6hfJGsI3jZf8t4OxnN/OHQLvPX4uM6W\n4nxiFzX6PoPAWmW4pMTU5PkT0OwTdsmnKIKX8QcaB1HODsKkTVfH3lcko8Jr\nbIZAeV0xjKWxMamovaCKsIaWX6XdQcaW2jXSdROOMxxKiydH0uUs8uCyrV4H\nRLdV\r\n=S2cV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDiNNI4JQAaJOeuNRoJi0OBrlTLX5VG4JTCrdik9UgCMgIgWppzoUJfqoJcV9l0sUyuzeTtC18ba4Al/l+t7bXP0cw="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e59a698_1604097545860_0.12209613003320996"},"_hasShrinkwrap":false},"0.0.0-634dbc9":{"name":"formio-sfds","version":"0.0.0-634dbc9","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"e352a12df86b4956a696e0eeb09d41bd8c4bf7d0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-634dbc9","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-a8Iz0wtBUnPB7wf1oiAPfqhMO0bc8U8hgR4DDmnZwodOYm6tcC9Vah98Cz1T11qFCKo0XD8obc9g7paJ0oZh6g==","shasum":"29d82b6dd4d1ea49a4ccc04713daa1a804493247","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-634dbc9.tgz","fileCount":272,"unpackedSize":970614,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnJxKCRA9TVsSAnZWagAAMXEP/3wya4r7edf+lRsuhzLG\n89jJ6nYFoHgcL72o2dqNqzQhBsPWgkLmF6yNqanuktSpqwZWcoGlAy3jhnkp\nX31+w5oSmf0fXzjLrVtZUex4TyJdoLyxlw501Z/6VcGGlCSnws+PVf1/85ct\n6hrGNPxjfkeRzyVsDY9GBQEwl410tCzHXR8PyWd84w/beKzjDugDjNFsf+yl\nggFKHbwL+Zx0KJMxaFMb8flDTyAetgpHeFAfTsBxRZ8K354lpgLuHN5u98CT\nw61ySv6RP/wMaUdSRp3saUtlOYQ9fE8f8m2ZIzVLOVAKu4DB5imhQiKU56e1\nkN3ortkzJ3wTLmqgdzPywGX/JpIDOw0G1JUcRDEspJnUF/PMzuEMd6RUWpJh\nwoNpwGOh4sf04DKJpk+Z+Yh4d9TFhyEeIOquzMWPMKeald+U3aWf8F8agkIq\nWH9rrbAaCb+hfvXtcUwZSO6yTrIhgr1loS/F3RVtEvR0FvXcaorOwYsPc9cP\nYs8rXOrYaY5v88apeR1aKaCyenWmBBrMuHN1xa3p24ZLAeYTii7LOilZW/Qg\n2lxj/Eql55f4WEOKCRLmt7Z01LpEShr/16eNPzAQs29cm2gQRTx7JKcQn2VP\n33/KXPD+cnlFG2f7L/nhziZxMVqsiaEHbKNUUsnFH2A/UTYO/6PHV+8PSq9P\nBIKo\r\n=urYN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH4ZnRI/rDt9M7Gp96APIZU3RGb8cJ3SERa8OLHUlhLaAiEAwM/16W1eM1hW+IYDTyktZTkcTlzhfexGYJ/EKGC4Cao="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-634dbc9_1604099145403_0.4387427600499614"},"_hasShrinkwrap":false},"0.0.0-3fc329a":{"name":"formio-sfds","version":"0.0.0-3fc329a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"7aadcb435409b4aac8751d2b3953565723dff1b9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3fc329a","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-aQzZ0g1W20L+sH9rrNhfKksbvLgC5shCKJMutV83fIjK3/tiyOIYN5AW0mwyoaXx4XdwMJynsOn92EdOrk1JlA==","shasum":"52b9fb2c669d935b00f9167c56cf08186542c213","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3fc329a.tgz","fileCount":272,"unpackedSize":970669,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoFXyCRA9TVsSAnZWagAAFlEQAICL7ONgXZoAOCmFAHi9\nWGu4T2Vh8DIfKhUo3QMuhy9RabJtPeExKt+IjNEsVkcS6clpspSjO9Kd7/E3\n6yiLNDUzY3p7a+BYHhSnZeBsEShDtwqHVFGY9HCfbw/bpmPih7vZbOUOZO4b\nE9fa+IJtOVqBtmnSvKRLqV65150bLDS8PyjJaIbg4I7jlfzSfn5MrR6inpd0\nCI+wtVLlcW0VB+UPwtly1OqXtU9iaJEMfhEsXuir6wW3XG9r2zNeBjEtVozD\nmsduBbDWQD7fFnb7iq01MlwrCCdQU3764os7YVFkst7SkLbGgXAlZhS0CCLw\nvxPnl+zzQg7vz0AHarwKPdMEa0G7eTBrVRZJJzdeTN8qwp9JvgsBj6kzZlCl\nSUUKfD8xm0Iup72Q5BM6MGSiWp5fxt/uapLDyJ7mubxYSYGmGOLb99T5axI+\nbcH6qPcpyuP3D5NeAVIiHp1Wwyg0xPe/T75SMzKXQF2DGIrvGOx2AXi2uv8e\nEVV+Nk13WrONzF3MBUk59ILCRupAthZes/iGw1ABxDWMteO9byGzUZ1N3jIC\n7Ek/k42uPqr+OFcLeT5cmCRmREduSZd2Mxs5NYbm07GVoDn6FZ2PWRyNurDj\nGeQ6DoPhIrAc/U0OhpM2En9tuE03H7DYmIvYaNfrY6VG4Knl/a103uQxOcf2\nGAVW\r\n=gP3l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwifGM2Q7AoyM/ngbCaktyP+2T2t3aKSDWpvpBNcII/QIhAKeG225xx9s3JctU6lTTSH0mf+fHwK7jCuFR+fhfzOVG"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3fc329a_1604343281765_0.5660545116767546"},"_hasShrinkwrap":false},"0.0.0-32c8fe4":{"name":"formio-sfds","version":"0.0.0-32c8fe4","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"e0d9438323e8b0e72f9ca80048508003f38c879d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-32c8fe4","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-+t5xTwqqEURuoZlGf522SEWd+CWoLm4Jwx/jidiuAAbCFZNjyo+J4vPiHz/DUezFxbdWLg0rcwZ6ex72ngI7sQ==","shasum":"03ca35881a281950b2a3934f5f9fe20a8bf6acb9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-32c8fe4.tgz","fileCount":272,"unpackedSize":971111,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoFcPCRA9TVsSAnZWagAAN0QQAI/7Oq5Wy6wu8GIA3xrQ\nwkUowmnUuzqpxQPaGScqstMSonpjYy16349QTTsrHjRPGKgQCW11b51XtMBv\n9FhUIOgMX6jNJxLxcFwMJJJ9aqCqMb4V7PmSptjhMq04u9QvqaVeGtIdss8O\nvEwRpfuLYQZkp9is4XMBvtvvrKcolO6gOLEog1C+pM5yb9+Dn29bfvw2vgEO\nGYbZDk8amd1G16Ov6nRt4uBuWmbsciN1pkbu7+IbgKfy0a4VWZ7vF86qiln5\n4RuuwkWjPkK/pUbcgnLXnqDTWC4P9ZK4+V6RUamUcrX4CqkxixkN+aPIttNN\nteDftpU7bEOIEIMlGk2FHKx7xAdCc+NxTFZSSS+ZZ5z9oa2rNNGcSwczuR7y\neyifcjBEATshqAdscNe5xZoeh+GfB3hPnv+2/A8n88LzpCuRyW+MkcmlkJ7u\nncst5HVLDj1TrF8weNPErZ+Q0VlDEKXy0q/1EwQkjedAm7qOJ4JqRvvMnksm\nV4h9fTplwHpBdDXJwm0TVvkGdKbj7ju3YCPE9s/uUZpa/VX575Rnv5RsZdj2\nd++ZqWR9RPLiCRcfqlsCfQ/5Gu2/hDln7DR2t3JolIrMzrQfrTjn/71LIOHI\njBqnp5Yo0mw9el4WFJxHJoFKyyxb6eVSybEZxNRCkaODaaS2dfPFXXgGjzj2\nJ52/\r\n=mxEt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEogpI3XWGfMNMqgTdSe+Xobuf2Iy65cok/CPlZK4DjHAiEA9pMiCUj7M5LyQVEFe6PcPXJFxbeoJZlYuMav9B137nk="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-32c8fe4_1604343567259_0.853251820465406"},"_hasShrinkwrap":false},"0.0.0-4b15af2":{"name":"formio-sfds","version":"0.0.0-4b15af2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"2428638d97a8116a4d20894c7ac4b00665ad2fce","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4b15af2","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-MWd+fxfW0lJjXAWKNflgw+VihcwXMUyF8opY2+RfqpZYoO6ixQ3yzBLHnKF5nwTluAPq6aCowwF7si+hccdqkw==","shasum":"1f5a3b02a071cf157eb1bc0f1d5b96fa045190ee","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4b15af2.tgz","fileCount":266,"unpackedSize":936983,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoFh5CRA9TVsSAnZWagAAmLsP/04LVbdvId0JKTxTie1E\nFomIUDb9imgTq6EEAnTjn1S84+AXo+1vNMxpdEGyKw+/AycPBV3fj73EK2B7\n/Sn4cAh+cm2/pFBJ8RGSHjlEPNV27AXrMm+bxauLsNzUNaWBDI28FqjlTrjv\nEY9idAOQ0ipemw6ENRQxBXUheBWqPP0+2gzkt6IqwrbQp8ldswDNJx+j+D/y\nHaVPxauvDL7VEg4WzRAYajCTNb37eUVg+5K5TGUwDFOS4CNjCtf9Hp0fJI5S\nU8auZ6cGdOp0d/eN/1sMHjq48BWnrsLP/iQ9xDGvoRiYQT5/5f1aBC2i6E0p\nKCIWw8l/K2+9lsi7HmPBQawsTz79UnGcHyYYltKJJPYmYQzRaRxxlRKpY2SF\nS9LOh2MfrFnxQztQvk209lijGiGDLFeIhmyyv6wIQnYARot6sMGW+8f/wiB0\nfjJJK5KzdYrHXkwKBb2/kf79TFMg2s80bYvC5JFq2QDvlctaPWpw405F1D1Y\n8i0oSLuv3qIldVQF4d8GzCoZTS5/MXpUc8Rc7MYFxRvT0643JWwpFRG8ZVbI\niQfAFU0O8famMRkl8SKGiYZ08SbAyv1r3fkGPIhGQ3iXAfHwp1ENKLX3XBSb\nxxLqLsV3RYI0Hv2Gti3/Z2onqFVqGMx62LcF3nTPuoUKtJHcQu/do0zV9qTv\n6qd4\r\n=054D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCm4CRrFFJFmz8BlHX1UBRv8pbz+4DrLAzb36BnvdYA1AIhAOi9fcc3IwAn0vkQ2To4e7Qah062Es5t/kYoWlmsOHxz"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4b15af2_1604343928939_0.7550783342591076"},"_hasShrinkwrap":false},"7.0.0-rc.4b15af2":{"name":"formio-sfds","version":"7.0.0-rc.4b15af2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"827624a85f8850b8e75bb9416d495497ec31a147","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.4b15af2","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-qD1MsRTa6357Nep4hnbBpw3MEy7IJiFyspXGdXCX+u67kWNICkdHvnzR1ngM9LxLKNhsAc+Ka8gU7tIenowuGA==","shasum":"138508b59c41d04327d330fb5eef30a91f3a9f8b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.4b15af2.tgz","fileCount":266,"unpackedSize":936986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoFiZCRA9TVsSAnZWagAAZYcP/2jnt5On7AuKtnVZFLss\nM0oRohECUAWgHS84aNdDiSpjFfG/3xOcSugsZ08zd0zktoJ15/ABUuAMuX/j\n7tNt3i1I5lhIl5M3ZOPJG6Q4igXoa3qyl0aQ42Vgq470ZLiIBn7qM7tDAXlK\ngpP/hnVN0wLgLZchK6Ga1W33IuRuYoC2FNUEUA2OR6twaMdCvwG91xyT93BV\n5JkWtBO3zTyeyDcHevw+fS++jPjqT6QzFiGUE4M0B8qZkYJgM554nmyHcwhD\nBTnIZPhXue/DqJV9jrjtEQ/M2jv5D8ynV4CtUGuqOiJj17gVIUrYODJ+Y9Qg\nrs88cGEdNHX89R5O0vZGTAp3Vixbj2f9jqNQulokWtvyP5a9M8hcfp/F+Wyj\njQEWFyUo8LdgyDkiQIHW2vnjzKut19Y9dYQm42pOpMuGiHBKbWQuysap1P+M\nG0SdJR8DregwYEr8nO1O38hvAQoc479w8vZ6shE99xor8ybyX5hrf5GAhMJt\n+SRaOPDXgbEn5Xcy4GteOS+ljRKYHWLvlFADGsQAX04b13zeQeN8DAJTeIv9\nWgA9sF+0cIaLbDFvrYB581v/funRz1xIg/046P6y8EHjcHyHmo9e6e6FYJYE\nGKiEEBRQnsTq608EvmwiHUbeYV3H/C+szTiGVDdrHiNhAoPzSezpQbNSygLg\nOAxr\r\n=/I+F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHDET6gtKmk086fK1FnQUiUZelaaOoeomtUXOiA4NDgiAiEAmSbdg5VGNcVU/CA0dBQmxk6cIQecvVywk/H3huQ4LX0="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.4b15af2_1604343960604_0.6498449775224713"},"_hasShrinkwrap":false},"0.0.0-f7abcb7":{"name":"formio-sfds","version":"0.0.0-f7abcb7","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"3e8cf5cc51d43bf7daa7c43a77a02060fd74c855","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f7abcb7","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-C/AMy0GuMrd9p0BEIP+JAcLY4HtZrur2UHolqCtf7UtEk+S1WVmL2Of5F0QL1rts7pUTP6jKevOiWlgam5mNoQ==","shasum":"4cfafa185abd821345be16cb5fd5956d891cff4f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f7abcb7.tgz","fileCount":272,"unpackedSize":972490,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoF9vCRA9TVsSAnZWagAAmDsP/RuL4xpIbFgqZfjWwFFS\nQ/KNZ7ueEkLK2Xv0hoYPPgWJFllTEU/8StKYKpRc7PMh8+rS/r3Ea9ataLUY\nhBToh7uMc1gsmNTuj9TGMoqgcVyJ3LpnhU6zfXIyMkwm7hwQDvfj5pNDQy2B\nORFmJ+S+fWeJKpLcWSCJy+id4RXO4Jqq9iOHelb/qS5nD9+eTID7Xi+u/CqT\ny8E1tRwHKeiKsfvmewgy1n47/GtcizOwX8w+ltme6dzjVwap7Z9vCDh6/OpJ\n/wpU+bSQMA+oTZiW0qm7yCdzOnKx3NIj7VcjInB77htlrsWxeDK6Q5vbAGhJ\nk/qbeKBi7P1VX9mzy6rIkCw/mqqejxvopqRLm7lXBE0r2NAd+CcGWtR6F+hE\nNNEgQuDxxYnJxO+bbWDwtqUhblFYsjUVBUErD0Trx2vVyVNsS6TvEcTfBnUn\nyTiVFtmQp5smDSlJiA1mmC0ZZH5An93zcYcbj8/EsxszY618QbwcfBYliqbA\nL69YuNr/C3qMHwh0QIxROVDXw569uK4xTbGVywZSPt2yNP8nMd4m9sQJUIFc\nSdD3vVEMxoIB5E0P/G1vH//kSI1TvKHrKywjHcyzKBkq0FVo/xURMk/yQUyk\ngRKaqSBzIcB2JeI1bgB63xrysDQ19YHa5q0/PQ4nzHCJ9b2JUnqb9hB57k+H\nfcq7\r\n=JNri\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICRuUhufvLAgvYPQEdo/5LSFbyVJqDVCxmt5kIy/QlU3AiAkXsJOxfXIobePeMLNH2TDwNbN/T7QiG9IE/fbI/THXQ=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f7abcb7_1604345710535_0.19199543119180196"},"_hasShrinkwrap":false},"0.0.0-572ae8e":{"name":"formio-sfds","version":"0.0.0-572ae8e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"e406a4df3706bc078adfe39bd77ca4b304d73016","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-572ae8e","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-dDMcsI+Cxzc6el6q2ipjaLf2GUODg3YQNvyvBI7s7rjDNXay9oGyPMrrssN38EEzx9taDX3t57twozFkH2ZaBA==","shasum":"4807a3d9509a0690b8e14ffd96d2a7b158353f2d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-572ae8e.tgz","fileCount":273,"unpackedSize":975371,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoGK0CRA9TVsSAnZWagAAKNsP/AvQjlu5NV9PHirYViTm\nXmgjeAhiLP9erVqAf35khTakiO8k0MWvoWCwBChanwxP4gdkw2FcZItleZhy\nEK8x3xl5MDx79g8B76j1sLq3EUZCXAKz4ruMf4pO3TXrjjn5gvVXamupe65+\nid0rPBSk018WqiAJSiWev0VQE4v0eQLKMU+jdbIiLBLAmyCgQBjTc0nQAJGQ\nOR428rpX82RhIuytDnYDFCiBE2I6JmueQxYX9n4OyevLp4RPA5TKb6bvcKvo\nzbAmp6M46DbNHOP8XuVSSs4hbSIv7bikKXkfJl4KCnC0LFCjVQs+YP6Xf9Zh\nPir2buTpWGw50dWrilksgk8jvCmcxnlER3eQ6gW/MLlzXG9Kve4lprTXHR0K\nfiRpDCl/DqgYfus09bjIBUiT5zR9PSxt6w2uTGudGgdTsJm276JAdL+TLy8/\nd6LFTKTtEMtHzE5NUQfGK7VKTNgVx7bDrzCPlPom5xTz6+AjMHM9/r+6R/Wc\nNEbh76pkE2MQ/trIz+K6mj4ToefLUmi/0QCMN7GumFYgNRpsflMWRIVfrsGN\nMcfioESPDmsIL7Vt46Kri6MVWLpPlHYY21bI/w3D0Pqomj28cTM4i32eaL1e\n8JGbztcCa7JlRVMmYItFjRFBBtypCWON43pl3YwOt+raNW2Sw+lMf5Tb0EuF\nXE/e\r\n=92ty\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUtgy3dBza6F6bTD8oh/w039v1IByCQe9hirdxWgyYbwIgU3/nnPx6pnGItiR6MlAfG2sPtDf5gLAGwb09oo/0oU4="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-572ae8e_1604346547893_0.9386979928387329"},"_hasShrinkwrap":false},"7.0.0-rc.461d4c1":{"name":"formio-sfds","version":"7.0.0-rc.461d4c1","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"02bdb235686599f24630b7f31144d50bceaf4022","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.461d4c1","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-418uFUbYt5ww3UTuNj6Z98UtAqIfsiZYLRo+dHCwy8H2101YHKckOcYD8xCxikFDSuyxCb5eJ0wDG4QXu1R/8w==","shasum":"8aa8d8aa9d771aacbfed39ea07d4683dba956e6f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.461d4c1.tgz","fileCount":273,"unpackedSize":975374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoGZtCRA9TVsSAnZWagAAHUwP/0l5h7IYdogPWiPM3iQO\nLPi0qF+TiFD34MBscTUEgGJ/2ziGzV/N0EbCVfB726OJg6N09VmhFJgB2RWB\nk8Jo+WTtJN53o6DICKVyeL2Brt2ayj3jMfMR1Fk9cdQkxsyoHRw87jdbJU7D\nzCQ0NGDj4JcPpWRLhPyDJ+o52T+rP1RvS4sUho+sCoYpWy9YGXIpXYpg1KY5\nB1hVL7g2nYTYL9jfVq0OY+fcFK3raVbyuXc+GzlOH2vG8oFHuImd1CwkX3Um\nUu3ptIhXIjLAQJC5n4JLZg33YZWV1BVqR/jBYX87bBrtnkZUCl2r1jQm7bo+\nMmqT2cCYVpaQHdfPMdeUZYIKOn4A4uYjgJ0YKNjqkW6Sm/drRPQLB7UwS+be\nH90tBmLQC6J9Hm5/Tdv2slreBY/3chCqrngeMjVkfjTcdG18qluFAgY/O4sX\n0z4xQds0ebt7wN9NuNjeI120V8q9rTEecoxVuoYNCvnDs9TY1z6NOeq1r3aC\nsHmrjBoI3HdQE7XoKzWZWAYjjEZkxm/DXTDOrnjFuZ16piv2mMHCRuxHhsDm\nR2sKr9jYwCsfAm1dc9z4yQMId8NFG3MUVqUUqo+JnQrbO+Y7l2oIJk3+tIL7\nS9NIG2IneLgNXgtBG3rOEX9MEUUdv10Rsmtv7tPaFgGJKEBcr0AyYFBAuc7h\nxCXE\r\n=DUvn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCne9RQxhN+GLlNPsvzX2H2qkczd6j9H17mpkxKQYSHUQIhAPCUYvpn9OqlM/QK7Y6Wl7vB7Y/i3xb5vk8taMASOetP"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.461d4c1_1604347500783_0.6403426718243856"},"_hasShrinkwrap":false},"0.0.0-17edb8a":{"name":"formio-sfds","version":"0.0.0-17edb8a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d2bacfee028c98b9bf362fbc7b32d06ca2ec8831","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-17edb8a","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-8RWrMHJa2ySBPvsX2pw1Kgd4v47lKrKrRFJkD8NC7OlTqgT8e/AKg6J+sPeaQNFZ/rFsCuhW0nC7C+kIk7mBsw==","shasum":"533fef375c9bda4e6e2b7752e3d1e37b1570cc19","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-17edb8a.tgz","fileCount":269,"unpackedSize":945208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoIP/CRA9TVsSAnZWagAA8hgQAJ+6Ugxfjo/jJ8ZF+0nm\npMPKpeLkZNArbMlshfWXaeoiJYFem9YZCeHzH4irYuUj13yO27IhSFmsH0iC\nFeVMh7AEHxUQ8enDMdIWIjvPpwl6w/6iKQcvJtG03o2snLhksxlJ3YGJKEI2\nXaeAdp4aRMyz2V3LiINnvjN95V0uSKYj9YOn/9+GxpMrSgGJ/V+wlqaObppI\n5WfX7BOyyZSaAal83eWiCUsnMvlIz3eU0vgGzrsQ76qkogixfT8laZ5CZ6ZI\nLKJAD+oPWZnfFnJBf7E9TKV0vdsC+cQRmvPqUy5oEl7Pq1V+0ycjzSCHbIdh\nDnOh7SCaHYEVIjFiyqOO3gwuCJ1TbnbCU2ijiSS9ocwzvCE47R5jErCAvWCI\nX9dQZ8Kuf8P47inEZyBonxnyAKPXDZtVwlCeFuDzW2jbe77l/9DTj/uTJqAJ\nVb5H7kt/tjHHAcYSASkGwWFLetbFGyTjwQ8lQxU42NybTT4HZyU/xLsblsw2\nF2QtMf3fgWBCwx/EZsy9/MPnUjSyO6sBe10+w8d3eSCyrEFr4WKt9apZDgdW\nzBsEm4LaWwmPhn/XurDypuCjMcv82t22MXeZHMHMnhEQE7/dbbFVSYMgkNb1\n9ZVLnVoDORF+QYcPSERnbF1i9gkdPIpc3DkCb/e61lnMNWlwZ4Pi1x7ksDET\nQFnT\r\n=zwBk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEd/zSu8bRb4zIW0DbamyLCxXTsC7tSIlRN4zS2RpUvwIgL8lEYLiw+9Gd8m4cIxhLdyKGxH5+K0+Ep3wyHEWgEwM="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-17edb8a_1604355070370_0.7676379949642991"},"_hasShrinkwrap":false},"0.0.0-d384fd7":{"name":"formio-sfds","version":"0.0.0-d384fd7","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"067811b7cbcc1cd238ef05cb618f67bd2cf32e80","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d384fd7","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-wIhhSnngPdFs7wUheTsqD+0sk1xVvYO7a+G+D63DdTr+JTWmeJ5h+YJPe3BpSN5aaT41i8MG82KI41kKKiu51g==","shasum":"a2936ab43456233dd520ca2f7cd7a796b4c643d7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d384fd7.tgz","fileCount":269,"unpackedSize":946612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoI4KCRA9TVsSAnZWagAA3ksP/2ZA7ShZIMWvcKLHg5bf\nUnnEFAgbGbbB5Tte6D8w4lag9mimPM/SROuGRfwH5OOzVHEX9wlZMetXKKNu\noObKshhkRx7BZ5Yooe/hcYgv0yyniPg1su88A6xnZVXZG19c2oJ0KAgLB973\nDSRXB7wlmTcNQTNN5v5bhQgDm/KQ90CipfNDrZIHhIabIMUtFCH+NpvawfUM\nt6jBD3pmMZlmYZhdSh4HwaE735PtXaHQvJ6z0LEaNVBmUsWWlZBdF6qbwAnE\nirJRrrSXeb97P269hWhZbyIckZZIrBAaCTReat/4pzmfUPgMj4G1dm4VEndk\noiOzmRaC3+jcZUg3MFIsTVi6J0M+drADNmDIiKB3ZOvKA39op0peFj96u0OK\nOaNUqRYwGy+DIOWJt26Cigjjfz2lTtC756OoIXeCDLClUOkpmj2RYmSmgZr7\nhuE909qH1Hl5hITKzCAwYNatVX9hJUgmvLIiuvAR3Q3NWt+2oRHOq4B5bjcl\nlvSVE+FafZulOWqxuJ3toOZc1Zv/kkg32hB5vd9MPE4wX5x6ZJ9HkeSOGuLQ\nyxclQJWGXC6wVxwdV31F4HU7PZswIcmZdnRkF+ckVuJB0OHWdLA6NwYi0Myz\nJEuGadPS5x5lb8mKqlVf3Oo3msrMfN2mfuHW5AMgl7mRi5iJ8eocVaBrMebf\n9DYY\r\n=5JA4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzazNJdHtdzCVvOz0QpyNBNAf23SaRgsqGOjQurDmDWwIgFkOSOeRsLFjf+toVEOqo72zvxzhV4L8FlAGi3nzfT7A="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d384fd7_1604357641455_0.4224595293471849"},"_hasShrinkwrap":false},"0.0.0-f019aa7":{"name":"formio-sfds","version":"0.0.0-f019aa7","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a96b10e4124604abd0481586b9518ad60107af64","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f019aa7","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-5vW8DSZ790PxTMiul6+KFVoSLK2v/hLvsVxjsg9d5YAduvWIVyzuvAAIcfGYtl438fqh+OAcorQfoxWn5WPbdQ==","shasum":"7e055af8f4e5231982829c1aff0c36cfc165ce6a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f019aa7.tgz","fileCount":269,"unpackedSize":947790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoJVzCRA9TVsSAnZWagAAuawP/jaWZB9G2IiziJNUHS4g\nmanegNdDzzFt/444niY/Xosoj2f3R7z4YTtOdZiygEBSrO0E2lvuVr0ekdAl\nFjsoq36s2x4Qbc3VdwT2qanIh2tPbDe6bs0rAduItNz1fB0RZKPVm1PK4LTM\nBh7SAtZIL9QIZ3HnQ1UzNJID5HmPDLaIj9xWs2AzdpTgZB+gLNujQfQatIN0\nicXCEM9QPWBVZLmq9dempm1YGy2QJRVgHcHA6LYPq3WQhgn7+CsfdZ6HgHek\nu88egWXv86oE6pYo07BMMuHCbbMXUMSa4GdSxrxzUEeJKVf9nkVDtAmdMPRm\nZnWd6zGKKy37pNcF9JhL0zN0pYq1lgw554wzEOpqkJNzljISSjERmv8VUlB2\nHnf27uLYpDPbUM9ZpPU2bWU+8D+bJ0mZqV2DhBp1npQBZc2ZS2QkOC+Et48L\nPUp5YnsRfjVo1EMZ5d+MtylHsGd3jColnG1SN7V+VU0lWYPVxfnXxM5Kr6oh\nX/dcvp4/CIIVi/4WvZ8cM5EWYNgQMtQ38Sfsrx8SHfQ5jjzRHXkfSLMjkfcM\nxYV38QiG02Aw/bzp8+KhS7mi/no8s7Ym7mp69F9o989sXhxHgExv4NZCzPMd\n9Ygjtw3m16K2HQknvBQRahNW5mDvjqDk8JQZ01IuBeLQoILyoPmhSacxijZL\nFRLM\r\n=ELsJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChI+kVyWSRwgfUdOTH1DlwUsFqWmZsXIA2oH4OlOz40QIhAKETIFrLMskwjH8ddoi1Jtzv5ptIy8aKCFiIFPE43yRc"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f019aa7_1604359539138_0.994836485540955"},"_hasShrinkwrap":false},"0.0.0-072c90d":{"name":"formio-sfds","version":"0.0.0-072c90d","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ef60ca2f1d7695d8521117914d852c50356b4f8c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-072c90d","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-5Bx7+qb/Ogy0EyHG65ituDlu9TESgRoFvvHFdO8nlJYjJxMWLJGVQv4vxwayzXYerFnKFBqgF90GeUE1jAER/A==","shasum":"ddceb5f37f6d7128606b25c5357263ab38bc22d7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-072c90d.tgz","fileCount":269,"unpackedSize":949568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoJ9kCRA9TVsSAnZWagAAmasP/iTyIrDEoowAExzecGO2\n/oBXgvYyb7N3XpjRtva7BTRAV6SDC2c7aFVouRw4MtdgLQfWnjdj9nfE04GY\nqllXSKURCOHrhp+Qt6p4gL9e7LLoueAOmjqQqnhd7yCFjl9Ou65h68uM/LFe\np7cy9wGg0USOmMlFiQi9kevrj36HFOKVp0FiRbwZHoFxMlKTNbx10VzgIwfb\ntqL8b8wizeY3MXuqIv/Hn22c20DBQI5wKeAAsMTW3CS9+T9iDhEbUeghzADG\n3dmEpaH6dzRH+wYKos9MrZNwjiobx+mAixJNNHp4l7ePHr/wHqe5XQM30m4u\nDFcqlLbIRwMccl55IAVkHXTj4dT48M3PTk5z58PN81IIiusr56ISNNXbzpVD\n0Xj2E/UKnPTn5apQnBvTxsxxVv9jV3hxKr/4KIUQvBRWBv2uwiHk1xQf1xSR\nxX35zYweTYJFd7FZLiVc0OiobmdU7I4E1Aw76JnviU0j9+KSEeuL/ry2Qjnq\nTdVmjAImNpUTjkkbBINLRTYQiTYfh3+jFFGAscTNj6w2Pgho81HM9RUdYxYj\nT1QxD/7HOGBJ/B8FsJEMkbIHj+IKBLENoBgRVnB2jMPqf57WmXGjRPeDTWOC\nts8kRJTQS9z7qB3h+IKX758DcMbm7E9a4/YIagq8HduGhMDmQQWhkOd43ixq\nizpF\r\n=rLse\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAZytYS4mRuve8VUcUfYqZcPMltn/7vovAClgD/3uuQSAiEA3/sUIrdpKw7zvQuIfnlvN5+PCXjZERn7rQayizW1qFc="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-072c90d_1604362084024_0.6853705471850307"},"_hasShrinkwrap":false},"0.0.0-99f003e":{"name":"formio-sfds","version":"0.0.0-99f003e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ca835bea726e8e486614a10b997d728c46ddd909","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-99f003e","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-4curdo6e+85uczIYFL/zyML1GpR6NKDd3TB5wdyIMxM/DkBsso9sg0mMp5YrbsZu6hBhX6mwYHyn+7VTx8+RIQ==","shasum":"8f72204db81b2da0a7272da1a9004a30b5328620","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-99f003e.tgz","fileCount":269,"unpackedSize":949563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoKDTCRA9TVsSAnZWagAAVy4P/0BGOjqqIJutdaw0dKBI\nHPRIWVeZEyizQ3Acb2Ctq4Fxsly1770i0QqAAS/YJWsn1U8+4UN4yuXbnLv0\nfKeYAAHWxV+wR80wbLZfpxZZxbA4DzN2J/Cpcty20jpvRXmODK7HZ2N8JXPt\nTk6c/QZyfGLhpKDvLrk8xuS4K6uGFfpDdGWRQczBYiA9kagc2dvYksA+2YhL\n47msX31x78GoZhy6EAkmKlmlL4WgdGrp0fmaXLyAHd6QYDKljjY3q+7I2ter\n8ZdFcacBF6F25pPniEG/IVykse7w1gPD/thBHj4ra9F3zcOo0pfinxN5MIJc\nUOK7A3s0uYSErSFW2lHSz1SJC0ijEsxyuaWN3lvGa67snB2vd0BcctOZ6ZD2\n/3WD8ya2sTnNwmZsQISynQk9QGZoR13SzV+5ubIf7RfEbKv4rDATU6J/jmVS\nYC97nSF0prnrv6MmKwFhwNWr7sU9aW7Bh+A0rt4omjdQ6MhPDw6mYc6gGwbM\nxtjpwyyPoooiPBabhCID29aDRy0GVEADRpUPTDypxLrNEKi1x8AGNXqCTkPb\nNSxCCXK8pGRQCtO+t7vOayB45tVtyA6w2ykLQW9tY6YjHLe/R1lIq6/R5cuJ\nEvre6Tudk4zLmMalwfSBfXzqXgyf3LQA1YbokKmiei9/6fP0gYDbvfvEeKRU\n8W9n\r\n=mcjK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFO4ShmF7uQu4TF6fICbUZPrfmT9YtgT7pa08C0otfpFAiEA0dsqQUTOmMVzo68jXqtcBl4Z9w86VSGPMMheN7EFF8w="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-99f003e_1604362451152_0.2192325646906268"},"_hasShrinkwrap":false},"0.0.0-890f37b":{"name":"formio-sfds","version":"0.0.0-890f37b","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8681f4f546d033f7912db778c7d4af11d8a0132f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-890f37b","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-973CdplCrxld1PseJfbfVBWa3N8ciXvPW7peFYl/Z3ai3QfHgrxJEWbSlhfUXRpphHr5L1lkGM1qypzSNNV+OA==","shasum":"9b8935b1dfef404f0fb2222c29f5f4059c8ddde1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-890f37b.tgz","fileCount":269,"unpackedSize":953019,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoQnVCRA9TVsSAnZWagAA7skP/1qsUAtGpSWqzXZmuPkL\nlhS3FHiwVvu1hc4xC9H7G+VW9+aAokZX6P+fbt5i5aGuat55VSdsRf37UzYQ\nDbMQDK1iRyLM/Mut4dRjbWlM7A1OvSNV7mEw0AtGTRd7ybq+la24yjiXRpfv\n20PwktTxZ29blj3Cz3xqaAbolwkiKca8o/aNaK8gPnuIMQ3q3/merM+UwAWa\nmHXcmweJ2gIQSR/E7nO7V+6nJaLlJUot6xnuTmMAb7NDqArtSABWxKBi0O5a\nPl8DmGv9hERdJTGMA09JiCMTduuRKdQY6XSCVLMCqF3UphQEuRxcSUtInIKM\njWUCciUF/YqSDwGr4fFRO909WRmTfUH+9K2XTjaOtkWhUKeMSrH0W1v9oEm9\ncykPBh1f4czZV88hMaXTODM8Yg9vOtZnl3w9std6In2jKboKlYAd5CX7bFrm\nVTyxJlzpwCFX/K+LW0xCesY7MEi35609cncYZYFXs8r7W/0JMosZyuA4m7av\nYmBFIeeLtzTGRvJHUpX3nKd1iFK6215iAWQRfB/XJccmWvfse5bIN2iDwisk\nrwhyosiEgfeCNIvRB2Cm8zSPG4Qw22ZvRpxsu81CVWwKnQug5PFRzoks6RjZ\nBTrXze51ydYvJW2wAo8qBSJ7PMeBFQ1GGz68XTgr/BPXRRUbFafCTo2tmBH/\n2pTA\r\n=Fwo1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCltJnZktPgPH2m6tl0w3+O+jT/8V7xNvPlql1H0ZsGmwIgUZypX/daXYOogmpXm9rzT2CR9F09Px1cyBvVuaDuR7A="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-890f37b_1604389332486_0.267330025235768"},"_hasShrinkwrap":false},"0.0.0-a9f81e9":{"name":"formio-sfds","version":"0.0.0-a9f81e9","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"f45565015b62925304a677415bbf8a8f6a44613f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a9f81e9","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-QCVxYynjH5+BOmI3pjkpyr3RGhoDXzU9IBmhTahy4gEtoXc3CKt1LQv+U2ZaBwP1zY/Dh46pRHWpCdr04v01tA==","shasum":"7ab66106391eaa40c5d8d8e0b2d3ae677897a9b3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a9f81e9.tgz","fileCount":269,"unpackedSize":953561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoZwOCRA9TVsSAnZWagAAfPAP/0WxW3RmyGwDwMIEvLAy\nozxyQ1L5bECdmtmOq5ZBtScPdh/ZOeceH64Jj906xGQKoZj3a+46o+GLWKU4\nnr3hxufzpa6gAN3hOoP4iVU+YQM57neQcZ8F8Xl+vfO+7g2URddKShbSWR6E\nOaxqqJCx09YQqOv0eozOCbWU2hLDGK7/nyD7p+iWeZPy+sCEnR2K+MdK0P1O\nNkutXnB4moMArFxWmxZ3wPLRRX88F3QekfQyG90Q8pt1Xo0amR7UTnL+Q1Eq\nZXyIJ6lFrOkh/vyKBYalHFCAWjgjrrXWFaNq3H9mepoZ69tCqS4QSUMIQ71C\nDyee4r0A4M+15SnPfxKV/gDf+tl6SZ6bUP6PFj4AqyNbmTHvAb9nSa5EDQRA\ngAqHcQ9sS6Mc3NHUOym9bbj/feRMXk9Tckp/rc7t2te5Aak67JI2jpjc3jw4\nIMiiRa/URFej9OhTCSl0wLTVfTtsbQlnIDkkdruVocEO8zOvTrKeJJj5p5oA\nugKeVt+/jrW0+KSX54u9E1dWwe2Kf1AAMrAvfyor3CMUIVibSwZjjvzqQc70\nealXQ6eFg2GX6DVGSooaU+26IgTEm7s+li8cYiJaUeZ1v2QKm39LgsvyUa51\nfCJnr5EWTq1NoiL+LF3i52XfmAxWop1MeCW3KUKI7CLe6dgOItkXi57/ICNb\nGZMT\r\n=1zTH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDAv/9PqyC8HLGyR6atKCrizlEaYQ/GDa/cKSvlNNxXAIgbQ0rWhKOE4XFKwsHppE4nP3OC70/8tABhCUPva7NGnw="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a9f81e9_1604426765851_0.5212987639320643"},"_hasShrinkwrap":false},"7.0.0-rc.455756e":{"name":"formio-sfds","version":"7.0.0-rc.455756e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"e51b6302e275e430a068e928a56cf71fe49605a0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.455756e","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-MmVLhxR8coKb4C14rGLmXMqTXBsIN3KrmImWcE4MErIG1ckilaZWgENmTWoF09TrvCzItmZ41fbFg/f9aTtSYQ==","shasum":"1d5b5b2265c00051f5f8900bc2b4600428f852d4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.455756e.tgz","fileCount":273,"unpackedSize":971292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoZ8JCRA9TVsSAnZWagAA+8oP/0yyNLR4p7uTovMAMmK8\nHylH315qsxLF/f7kmDINdSZCXgurbQYhvUs6iJ6Oy854e/NHvffuwXd7mPFD\ntJ/eJHloqYGflORdnQ307H+WcMUVEb9knfEfZFRzibSq8RLYWQOAvySdn0eh\nklQXJEuVxx08EvRGAXcfLkeyneNoPTqSKM2DAIoXL9pjMoTO/Bs0gocsLDjY\nUH3QBl7D+s0d7VXwTVpYGveDfQplvz0jnmnxxox27smGo7EY4M3RA2QmVlWT\nHcFu1L88nowcFCsES8KsuQmt2P3vQinKU8Lfomx6XIK82OVy1a3+wbxS9BfB\nWX0jsiFeD4Uk3qWg+FkC6+vKMFF78HE7zbgTjCqAXwpF/S8AppqG3toHM3D1\nGIEmR7ks9mUkeig7O//0c33xO00L5raFhXx3Z572zvIfLPu8yBag9OI9SY3E\n0EWW63SbjjCVZu53n0wkBWyu2W/iXS9ZYo3HaUiLS/UuPye4AeV402Vq8NHC\nolnRmY4rK1P2yw55sL2Jp/+7mZwkqxcdjUnlmIxOiGqi5A5dpTuW6PngOehy\n9zX8sUqa5z73w0HbcXPfHjXqYDIsl9A8qu/p+zRpIavbJASgniAv9Qe9DYTs\nH4CGmyos5wpAN7E7jjgPqwNSkIe9W0UDN2C/BRnYjddI3xdgzqjIr126puom\nsmHF\r\n=OURA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwo6a+D0MmXalEOq2oF69/TnQdX8McU8CwVhwaGXoOUQIgUVCwC5RAN30FprouLABB/A7Lf3MigbvbptBdz7Izz58="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.455756e_1604427528368_0.11284530450523333"},"_hasShrinkwrap":false},"7.0.0-rc.5034d04":{"name":"formio-sfds","version":"7.0.0-rc.5034d04","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"f770698a740fdab9cebbb36c34e8e4f2756a3166","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.5034d04","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-pg8qWQSBhnbA0lOR6wARDBCzex+PVinlCmaKwgU+Dawe/RYqvQpW0J5kbFBA5BDgOR5SUTsDC0FeuCtEpEYdkA==","shasum":"a61fa87a8cc2737620100b1567d194ba6da24957","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.5034d04.tgz","fileCount":276,"unpackedSize":987870,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoaMGCRA9TVsSAnZWagAAHp8P/3J+vVxtU993t7rhZ9KN\n+D2SoOhAzEMusFqIUfIZxxj6LzLq3bpq7+v67n4uKcLMcOKRQ1Va8NIiNBhy\nydmPzBMDXpS637mgcfjQ8feCEQI2QcacYnyaE4UyqqspPtlTG9hNw64jShJ/\nBibhUf2Ii/xIBCbGxii8JstbUi3LthxjYe4Cds+D0JSFR36YZrknMI5Wyb6T\nPD8P7WZX5xJKIDmhLOMDSj3NFVFRhnbE2gJNp957ybOWvsa9s/fJdtyIPNyE\nie45IYpExVkmxHJpDZzfo1DoIRdCVs8CYUxhFsOeop61qyFUGSHnnKgRByU1\n4miMipC/SdKQQX+nOi7rHAA7PG26Rmn/jRU4mH1vE6iqcOpEEG0ZkfOvv9Xx\nXVO36tRuyRIEkjGWsRuPST5bWtJKdFkrUNS1/cVTOSeplIDWoa81RpJIAw42\nuFpDP2/Sfn+b4ITNhDe5TTstAGDQZm544QE1ujEV9NJrOaDXcwmtpGnZn9e1\nEL7RBPFZHyLiSJFFlASRqCy8HWEUZjmIzFutXSml2/0cCxWODunaHrk4N93Q\nHAyT3hYQDTi59tbX6xuo9CbhcU4YzrIE7TOmiByn6Xu1+kBDjHkFxtFnRMic\n+cTsB4Qr73BCO5xqeZ0hDX+dGgg3ShySNPjvIod/wVErQ4aaNX6hSv2K860l\n+hXS\r\n=GEGd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4vpsJX0vs/mrKHSAH4OGPzXsfQbfsujoNJe8rzGU8xQIhAN2SOQGAUtlXhtyE5/zXlKzlBb1dz1qs2ZaY2arXugD/"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.5034d04_1604428550375_0.8456232158258796"},"_hasShrinkwrap":false},"7.0.0-rc.1ededb1":{"name":"formio-sfds","version":"7.0.0-rc.1ededb1","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"efdc547a22f0cea4de56c7ceccef540660462b85","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.1ededb1","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-5CVeQkErwdL2Xo4wNWc/11jdAJMhYPYZvm95fRGdMzy4Sm09rNJHChs3iXimYWek4QOmuo/yVfTTF3bYf7tUNA==","shasum":"8e8f41dba6f578a5ec7f73635fc7c63f96a22acd","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.1ededb1.tgz","fileCount":276,"unpackedSize":988332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoaUzCRA9TVsSAnZWagAAVzgQAKSkbn8VTyKyQvjyfpD1\nacnXHE4uNWhUKfz9maBdg8ib8EKP9+dp5MbETjyohJW3nCkJ4a1H0DGPw7ve\nwo0iDfp+qjo6ljsVZfonESUdUd9ibZR/3LGUs3RaF4RgfT3i+6zsBXRJ2GzN\nBdCEhyalhInv7L8LlI57U9iq309LcUj/GVj+5GWozyUPVOyPvea177bAgbbd\nItn3fdfr5RJjuGOLztyIkG7yk2/JHqvROuW+42bka5gWdyyzMvkyXZPRFGWV\nMi/Yr1db9Itv1dpc0sjuXlhcD2FMY0ciJA2U/25NuSX1h0Hn5iF0Mn+B/1Un\ncOkWXDC1L+5/0WSAhYYRNuqxLiJsgA3/k01ijO4EZaapCcsJ0872ztwwPb0K\nljp2MP7ASZSbDyZ/ihQXVqlhhRkLl16zpvgdunPj9PCu57P3nlnEIEfIS4ka\nuQU+aPJK/r8dFR/ydhe4RjzE6LDqwB0WB7zt3pznzJSD1sblV5Yer7guLaEf\nxn8ZOTH868Ajjgdj4xF/WiY7t7ZdJVHBRAqw7C6pdhtd8low+fqnLznMFy+0\nEJCoVenrM0fhrZoNHnhURiY9yqKIgZFZqHJwmUszBhhca01jlfab8s5gM1NF\nwdoazkIjdr3I9KysvGI34f9HgZH0cmCPDjr6MRMwdn2l2XapstyIpfAVRTht\n3udn\r\n=ULEZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEIuYDmy9LGfwniz3/0KpYZAkvxJi+uuxIDC5cFpiRgVAiEA7Oy07Jvka6Td0yjCpZZnccMcxjHWIV2WThFEwmdBwxw="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.1ededb1_1604429106693_0.6763059828948053"},"_hasShrinkwrap":false},"7.0.0-rc.86a9115":{"name":"formio-sfds","version":"7.0.0-rc.86a9115","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"187d9305c280dba34dcb4a47084f527f0af8bf01","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.86a9115","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-w3sl76zsdGmNri4T5rjRjl/eT1rGiBlWgkJnEibHGFx+g9Emkw6U4xWpQfHHdnS6iga+BmhVvpV1bFUaS8EiCQ==","shasum":"f0a04877e4fcb2e151878eea26f6391cc1f8a55b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.86a9115.tgz","fileCount":276,"unpackedSize":987729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoaXdCRA9TVsSAnZWagAAwjEP/j6Y5YQRQlfd8SkjONk4\nQBUYDVwX4EGFLF4/OFssJK3qiF+N8iRt48AxPht1QYvgUb9setNDOKxR6keu\nyb59Zg5cECCwZIUd2kCL3RaUhl0K3ENZyBX8zWlN0gfC8d1kfxjyoKQ2KqiB\nywrO6rhQQFn8nCXCnF/oUKu7tWofjP9yE1BQ4z0jk4IxYQ2zTryUBYvquHQy\nC8slqexavds9/ER/Z+/znY5Wmdfp+0ce0JqAqAMEmFdj3XVebFkiwgsCzQBd\nrTZeVN8PJKkhQCm5P8UDF205AC0vFEna8TjrxamnyAYb3+XOZ9JVx0a588hr\nQIUgnndY0F53CMu9OwKt2huu7ySGAnki0iWYeCoq0dsEJiXHkQHs1QCQWOle\n3wCLDVVP6lzeL1jzzHRBrJC2azfXiQBQzfQUk1vqEqyo5pTc5Sy+jxbVYwSa\nTGBRXcsdPkiT1q6ZPhn5oE3Z9/XBKhm/QRfSNrAWTYiKnth8rABinmcuxmKD\njYRugT0KC3wIXpgxxExyowkRrD71aT+LKilA+a2S+zFjRKzNHWGUy64VqijT\n/qjFI6O1QjQhQG+u4szW81h6u03VV2rkdOIFyFARjhbn/pJc8aKPhV721KkW\nRGgZutV+gfsFs9CCTrfs3c4UxlLGr4CDl4lHFexfVoM2sQKOT5GkR2sFrVK+\nNTVV\r\n=yuau\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG1hk4Q/+qLkAq56/DWZ7tfTRXIj1dPveEau/WsmxSHMAiBZsX40PV44qquE2gz79fLXJRVTS+4ROE99Bbi2+YWPJw=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.86a9115_1604429276816_0.07464578645898179"},"_hasShrinkwrap":false},"7.0.0-rc.aafc6a5":{"name":"formio-sfds","version":"7.0.0-rc.aafc6a5","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"7175d9399edceaae7ab8980f8b2a59dea9eac6e3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.aafc6a5","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-mL6P1rWTOWKRG30Ggx8arZVT+Y8a8CkZNsQFQjn4SaHULSHreGI3DTZCqeBcyplJoU9piEDQFwhZaKfL5um5BQ==","shasum":"ad57e4f1040bd3035a364de5287e503464a19b98","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.aafc6a5.tgz","fileCount":276,"unpackedSize":987862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoaYyCRA9TVsSAnZWagAAYI0QAJDh/3rJRPsBAnB4TjmR\nojZpfx7gVzRbam09cden7OJUPKq8wIVIVHOkiUiEALj3155H2kZAhKXAxcfV\n1ZfbmZpx1GyxCP7ZMvky1l50D6BhP9xDQsKjDaNuXkVkgWPspH90cJccGNQh\nwWJonh+8zC8mlpmdP38ZsH2q1FBk45E8ipGodFmEUCxWJ6K1z4MkAXcZ7yno\ne8TXNiWoBu5Rl+spk6ZUWwU+txA7Sr8sz8wE2x35bnvKdeqp39xp98KC8P5D\naQvRUDdnWa9R3DADXNZyi0Avizv69RQCW9Fr5mOZHJkltq31be8eqgzbO4nB\nsYTMgQ6cbBe34XDA5M0ZuYsLYadB+9clZbIqQUFCDoJynHp39U2woPYmvX7Y\nZIF7mHjcwigxFYnIQv7IAGI/8TDSCvSinhvLM32v108+D17zKoSjD9XemZ5L\nlvAKs+AtOag7AsENIsrtim4aegjBE8g0NEp06rKcC8t+qGBpptMjoCe7j8wl\nCUu2BfUXh1q/MWsEbTmpB6lZWgDNVIG6Rau4IzhgyWWT88BGiJ+BKCMA11W/\n6WtyliyvRkE40mXO2864tKxEFccgvPMIEeo66xNnDCuioAjvF+yKAU0ctVlw\ndi/7WbsxOqWypYLo94h7QF6KA8i0vcGxeffU7DD+dmGx9zSP4/pIgl6eajFL\nakPj\r\n=opcB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3I14CrSlez8U0Mu2JLLmKDxDVEQLXgTqgFSPuYH6o9QIhAMsREwikr2Uw2OMdKLXOt/D2YtT4aqenMriCXXlv6Kv1"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.aafc6a5_1604429361681_0.6595842239254928"},"_hasShrinkwrap":false},"7.0.0-rc.b78ca97":{"name":"formio-sfds","version":"7.0.0-rc.b78ca97","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"e70f3766999bd6065f3b6d655457088a478d173b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.b78ca97","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-st/kpLmVcHeVxyy+g8mGLV/B8v+VSjNfTg4n0zMyh3MVCq1UP7u9S2A4T4vv9IFsqffUmzk3c0PQREndrhgoOg==","shasum":"714f182da84f350b2c767d663adfea6018954653","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.b78ca97.tgz","fileCount":276,"unpackedSize":999238,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfowUzCRA9TVsSAnZWagAAvgkP/i3MxZbtEI18qICs64ga\n6hl3uD9UeLwyLgk7wduRbnPYZ0v02+U0kikn4xrtjqKufanMJSDLvHKWi7Vr\npuvpFnZdUZY9Wb69peeUQBOJ/nCOIEt7/nt5HxqgEiVC49aarowq3V+Cg86C\ntxWhFG+I8K7zqA62QRSenzWNdUVJGbdg5xLzJYij3J2JPIzhvcVsIrEIfqqX\nz9GCs/L/292dne7ZP26FSZiaP9vGS5cDCdCZFwdgVJGEoSyJcvfGChakyllM\nJ0efpxYlP8DjHzSEjlwfOTm4CHheRzGweCMPQKu6tyjrQM+wGeVViCAlzDhf\nbX3b9hLXgYkBtItvrHVMnl1uzRoZm5JkbJK0kmb17Afu5EnjUstSktFYBc3h\nf4/A6afa8jeTPFDp9eSZYB31SMG0dFG/9dP5Nz2vn12axdLQ8cOxqp73LVzf\nDFkckArTijczsFSJGlfeUUaaI1qjRwfv6kNV2jKYmJtCEjjpfWZPqiaCVuP2\nMiXGv9GEzJ2P/3hXauvTbhsLECOpzylVw/NPWB96h9AI8tX71upGTbYVUavI\nGhbxrNXzkfZT7ScZfR+lP4UCt7oy4cK1GMbEL/StrKAAkP+0/IW2nmtHlRep\nJYCU5rOiZDADHODmzjNnL4ukoEQSBTq/LdjLdw7LwIYfh9X96WOu+KQQnIWP\nco6o\r\n=0dD1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9dimqJ8oe9OOmknduLdQPpqXIy+VYjrucMqaHbQkLWAIhALjw5E1bdlDDQ46S1d9ayJCPP2V9Bk4AGQmdmoZvNWF/"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.b78ca97_1604519217295_0.3224567868445418"},"_hasShrinkwrap":false},"7.0.0-rc.a8bb768":{"name":"formio-sfds","version":"7.0.0-rc.a8bb768","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"78ba34c4f62e43562d945149fbb973f3280cf681","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0-rc.a8bb768","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-lSS1tNfYYI6ppoUduhsnWHWpyBj4q3lrLJF1vgerLr8SQCgAHizKe6R1sA7rwzmYcvwrzHUHYF3RI4n9IXQLew==","shasum":"7186acdd562d01401c62a5c82b974556f15805e8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0-rc.a8bb768.tgz","fileCount":276,"unpackedSize":998964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfowmyCRA9TVsSAnZWagAAKDgP/0ypduOUafQEwRl08dKu\nYU1eVoeOlCjk9fRHCZgCg8gfJ8if9j/P7XCfN0ZF6N32kPJq06Gz5WBbDHYt\n5rLh4eIBrnd/4k98ku5GbE78IeNVKB2mp/TusA0XNQj+Q+w44RNK/GcChTP0\nGm9TqvYoE0sng+vahpzO9Ion245P0n1dX1kCw9LAHBD0oKXdeobgzadO3rFJ\nVabe1cJ5bGasCNvGtBV9AN0lmrKvCKBMoh9bdX/lLUe9HYVY9/7/+a6gMaaf\n21NoNWUkJdN21FJGsQMQF8ijR4di0sp74TKmdsoIvtFRlC3t4bn7hhxongT1\nOZA9bHAfUGS67TQfWjYsnZuvdyd56a4mZKFR2RCc6Q+uqt4y1AsXnwfhd4oA\nFsdKFNyKf0XcdkfEKU90wViAbSQm9J+cWcZsfZYiNXULKRVnpynBmBnGofZq\nYgnSfSDlysiRC/Q2TpBgPHuk4oy0zegTvatkLe7YooNk+LHDkvqGGB7WBMq9\nUPXoJvSfjjXHWYzWmthxdi0YZLq6ceG+gFsQe3KUX+jo3b6IOKNGYVlz58p6\nF+hpZ0HOSAAGp7zub1OHC0zyWyHzRwlmeIfAii9ia6Y8o6ZElFO5C+4zqgRC\na57l1j3XdhaveC3OETAMB6S9WnQ+VyRkTaS9ZeYHCHYpBhHniiaOpYXco2IL\nJyzT\r\n=FBIh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIPbKH+QPJPIU0Cx2GH3wVIzI2vhNAIunnoSgqfT0DBAIgN80LzTRhoWjs0ktG98QiYd6GszeQ2mwk+ZsEBUaWwOs="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0-rc.a8bb768_1604520369906_0.5370418974284032"},"_hasShrinkwrap":false},"7.0.0":{"name":"formio-sfds","version":"7.0.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"4dadc3f1194538294f879861b72a541064dcaed2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.0","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-JWrqR4ebkv9vTBGSlApMkF5x6WEZkBBpxD+bHBl2Qt4cMhk83Usl9MHB7OYfvQVgwPPGWmuStDylv0ZZCsbLvw==","shasum":"dc1e731538a7d9615fbc0ebaa8a769a1f8dd3111","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.0.tgz","fileCount":276,"unpackedSize":998953,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfozHtCRA9TVsSAnZWagAAU84P+wROigQ/C/iIArz7KSvt\nEfcaEs1e4K57n7KGt4MsvV0ozGTGqTre4DhVGDiK98ckOGZz62+uZY+9vOm8\nhsb3LtJqfg0/AKGVuLM3x4Dp4q7eWBiUQis5xx9gPa0xjpbi0ENkx3594Sr0\n8KIfBf8QUHz6hQyDMzNXhb69kL4nTR6Cgb92PO+GTtzAtR/mrp8I8fSCw+Sa\nsaaH4B8EXfM8MAtLj8RwdmjWnKSs5rNlHhOMjnXgtTc03Y12lFPshK4NET4k\nJPdjUxABxYixNf7qdmAc4/WqXVTaJqmZniW9Xf+MFu+mv8hre2m3oZCcCkNp\neVoCiqBt5km2F8eo5fJH4kaAa3SomI9/7C/hfYM4BcxmAema6YMssTNH5gmm\n/2S9ybzhLu6NFuZBz8XsUEvTnKD5GzGqrvwWKiXWTPyokaFbCZ6mL2FwJD2E\n88U9RWh1Zu/0qsSx9jaAB9EI/O9HU1SnpTKiTpyXfg3+5plmaUncoTRnWytg\n9cG53vd9n9Tro/VYrAy+UfZwCd277BoeKnxhUspaQlmI96zL8rMZk4eVERZq\nTMsaQAlxcKQg/c8awOtG1Ln5aUPEOXyQ0TQ5h6BAPw4NXTurPW3TJ+7p2quw\nSQ5IsC00EbWGydI129KHHu2ouvh6n96OvubCtagCrdishtZZzLu9eZM6am8F\nEKgu\r\n=v9ax\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5dzbtYXcg13l355DaV5DLpUWegumAxAYSraRWD9Kv5AIgd5xnq6bK/RyybTM2lzN31ELcD4i/Llm1RoJl6lPls7w="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.0_1604530669117_0.962257604538487"},"_hasShrinkwrap":false},"0.0.0-d205798":{"name":"formio-sfds","version":"0.0.0-d205798","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"694f2e390bb8c8f3545fad8d2b6606b9783a8a73","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d205798","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-IIusFT6Q0umj6PV7p82n2Y5napnycTeVRs3KNXBhOfUyA02q/7Q3ZWMqmGwgT7eW62hOO/ob8xPAZt3zgCCpfg==","shasum":"f2ad9d20f8b1adc47374fb92420358348cbf4377","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d205798.tgz","fileCount":253,"unpackedSize":848798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfo1JoCRA9TVsSAnZWagAALWwP/0nycMznJIm4hs95W4GP\nsn7V44T/xsw9+PA66di7MistdTntx5VztWSkdmraUTnW+eO/IrHjMiAhNjHQ\nTK3x3ZmPgXArSRyNoRk3LYSY+jNWx8TaCyNO2IuivDpYo7j5tKH/vS1F0KkF\nrh0IERrMUegdx4FbEeJV0jIyAStQpVMAacjdD1ncqIAx5eH5zFo2ccLodZj3\nlp63TSFvjso4s2sao2lEdbM079YJms5ZiXhFwCNUfrgAIiLhZtP4dOxGp719\nmUjAgzzmPU2S+5PjKYrdbUDT79cdy1FlA2ouOc52rJZLw9lxPGLjuuN7zLXr\ntA+P6NmYxQxVzHtDPouH5UEw4m7cCAL49Uy/z6cuMJ3CwbbPxKF/m4FrnK3I\nkjhMcEmLsufaSN5ynG6qAzVWA7d6uBqIr8fRc8X1poHyvCR0aLvnB9h5r0Bi\n0dBDILqsW+bwQSYvaCweJaUVIrYFkBfiBzO0riXPNwhhK20VUinlAHOZ/us7\n6KESsWTkIHgu2xvCistIWPXWB86JLKL/36M7CbWJTLZmqRbVwHZ0VQgO+E6x\nQBgh0YsqWz97DZ7bQ3b6PKQwVrNZu1KlCahcVCZcYYetMu6DPgSUhDjUH1zg\n/NZEP2KXr1TBMeuoSZmQRsi8W2gojQeViUhJ0Fa4BHoEDmGrF6eGuQ8SUian\n2C8b\r\n=Aai2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH6wxOZ/XsaCaOUrNDgzMe59TEtkPrpIaskqW9cHrUZ6AiEAwFu/bN0vnOvof/ppKkGkzRgAs9iScV+HWmNV7A3BTSU="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d205798_1604538984210_0.7478413013787546"},"_hasShrinkwrap":false},"0.0.0-956c894":{"name":"formio-sfds","version":"0.0.0-956c894","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"npm run build-css && run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -- npm run build-views"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/preset-env":"^7.10.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dotenv":"^8.2.0","globby":"^11.0.1","google-spreadsheet":"^3.0.13","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","us":"^2.0.0","watchy":"^0.9.7"},"readme":"# formio-sfds\nThis is a [Form.io] theme for the [SF Design System](https://sfdigitalservices.github.io/sf-design-system/).\n\n👉 See [DEVELOP.md](DEVELOP.md#readme) for development documentation.\n\n## Table of contents\n* [Usage](#usage)\n* [Custom components](#custom-components)\n* [Form options](#form-options)\n* [Formio.createForm() improvements](#formiocreateform-improvements)\n* [Localization](#localization)\n* [Icons](#icons)\n* [Declarative actions](#declarative-actions)\n\n## Usage\nThere are a couple of different ways to use this package in your app:\n\n- [Standalone bundle](#standalone-bundle) (**recommended**)\n- [UMD bundle](#umd-bundle)\n- [CommonJS](#commonjs) (`require()`)\n- [CSS](#css)\n\n### Standalone bundle\n**This is the recommended import method.** To use the standalone bundle, add a\nsingle script tag to your document after the one for `formio.js`, e.g.\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.standalone.js\"></script>\n```\n\nThe standalone bundle does a bunch of things automatically:\n\n1. Inlines the [CSS](#css) in the `<head>`\n2. Calls `Formio.use(FormioSFDS)`\n2. Patches `Formio.createForm()` so that any form created from then includes\n   [SFDS-specific enhancements](#formiocreateform-improvements)\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors, classes used in the custom theme templates, and a\nsuite of general-purpose utility classes for tweaking individual elements.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n### UMD bundle\nThe UMD bundle exports **only** the Formio theme as `FormioSFDS`, and does not\nautomatically patch `Formio.createForm()`. This may be your best option if\nyou're working in an environment with multiple forms on a single page, and/or\nother Form.io themes.\n\nFirst, load both the `formiojs` and `formio-sfds` bundles from your CDN of\nchoice (e.g. [unpkg]) and link to the CSS:\n\n```html\n<script src=\"https://unpkg.com/formiojs/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds/dist/formio-sfds.umd.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/formio-sfds/dist/formio-sfds.css\">\n```\n\nThen, either in a deferred script or on window `load`, tell Form.io to \"use\" the SFDS theme:\n\n```js\nFormio.use(FormioSFDS)\n```\n\nYou'll need to do this _before_ you call `Formio.createForm()` to ensure that the templates are registered before the form is built.\n\n### CommonJS\nIf you're using a CommonJS bundler like webpack, browserify, et al:\n\n1. Install both `formiojs` and `formio-sfds` npm packages:\n\n   ```\n   npm install formiojs formio-sfds\n   ```\n\n2. Import in your app:\n\n    ```js\n    const { Formio } = require('formiojs')\n    const FormioSFDS = require('formio-sfds')\n\n    Formio.use(FormioSFDS)\n    ```\n\n## Custom components\n\n* `address` fields are rendered as multiple text and number inputs with address\n  lines (1 and 2), city, state and zip code.\n\n* Fields with type `state` render an HTML `<select>` input with the 50 U.S.\n  states.\n\n* Fields with type `zip` render a ZIP code input field that validates against a\n  5-digit number or a ZIP+4 pattern (e.g. `94110-1234`).\n\n\n## Form options\nThis theme provides support from additional options by [patching `Formio.createForm()`](#formiocreateform-improvements):\n\n#### `data` option\nIf provided, the `data` option will be passed along as the form's initial\nsubmission. See also: the [`prefill` option](#prefill-option).\n\n#### `googleTranslate` option\nIf `googleTranslate` is `false`, the `notranslate` class is added to the\nform element wrapper to prevent Google Translate from touching it. This is\npreferable (but not required!) when translations are provided via the\n`i18n` option, since Google Translate will attempt to translate any element\nthat _doesn't_ have the `notranslate` class, and may replace a human\ntranslation with a machine translation.\n\n#### `hooks` option\nIf the `hooks` option is an object, any value that isn't a function is\nconverted to a [declarative action](#declarative-actions). See formiojs's\n[hooks documentation](https://github.com/formio/formio.js/wiki/Form-Renderer#hooks)\nfor the list of available hooks.\n\n#### `i18n` option\nIf the `i18n` option is a string, it's treated as a JSON URL from which to\nload localizations (translations of form content and field info).\n\n#### `on` option\nLike `hooks`, the `on` object can be used to specify [declarative\nactions](#declarative-actions) for any of formiojs's\n[known form events](https://github.com/formio/formio.js/wiki/Form-Renderer#events).\n\n#### `prefill` option\nThe `prefill` option allows you to pre-fill form inputs with submission\ndata:\n\n* The value `querystring` will cause pre-fill values to be parsed from\n  `window.location.search`. E.g. `?foo=bar` will initialze the form\n  submission as `{foo: 'bar'}`.\n\n* The value `hash` will cause pre-fill values to be parsed from\n  `window.location.hash` (afer the leading `#`), so `#foo=bar` will\n  initialize the form submission as `{foo: 'bar'}`.\n\n* Otherwise, if `prefill` is an instance of [URLSearchParams], the form\n  submission will be initialized using its entries.\n\n#### `formioSFDSOptOut` option\nSetting the `formioSFDSOptOut` option to `true` disables all of the\nfollowing customizations for your form:\n\n* Scoped style modifications. **Note:** template modifications can't be\n  opted out because they're provided at the theme level, so you'll need to\n  style the selectors generated by [this theme's template](src/templates),\n  not the built-in ones!\n\n* Select components will not be rendered as plain old `<select>` elements\n  by default, and the `autocomplete` tag will be ignored.\n\n* Custom [event handlers](#on-option) will not be registered.\n\n* The [`prefill` option](#prefill-option) will be ignored.\n\n\n## `Formio.createForm()` improvements\n\n* Detects the form rendering language (locale) by looking for the closest\n  element with a `lang` attribute.\n\n* Select components are made to always use the `html5` \"widget\", which is just\n  an HTML `<select>` input\n\n* Form elements are wrapped automatically in `<div class=\"formio-sfds\">`, which\n  allows the element itself to receive styles defined in the [scoped CSS](#scoped-css).\n  **This behavior can be disabled via the [`formioSFDSOptOut`\n  option](#formiosfdsoptout-option).**\n\n## Localization\nLocalization of form field labels and descriptions can be implemented without\nhaving to keep form.io and the English equivalent in sync with string IDs in\nthe format `{key}_label` (for field labels) and `{key}_description` (for field\ndescriptions). For example, given this translation spreadsheet:\n\n| String | en | es |\n| :--- | :--- | :-- |\n| `homeAddress_label` | Home address | Dirección de casa |\n\n...a field with an API key of `homeAddress` will get the spreadsheet\nvalue, _regardless of the label's value in form.io_.\n\nThe same rule applies for HTML content components, which can be overridden\nusing the `{key}_content` string ID.\n\n## Icons\nSFDS icons are rendered with a [selector\nobserver](https://github.com/josh/selector-observer) to inject SVG icons into\nany element with a `data-icon` attribute, as in:\n\n```html\n<span data-icon=\"next\" aria-label=\"Next\"></span>\n```\n\nSee [the source](src/icons/index.js) for a full list of possible `data-icon`\nattribute values.\n\n## Declarative actions\nThe `hooks` and `on` options allow you to customize form behaviors using a\nlimited vocabulary of \"declarative\" actions. Each key of these objects is\nthe name of a hook or event, and its value is an object with a single key\nthat corresponds to one of the following actions:\n\n* `redirect` takes either a URL string or an object with a `url` key and\n  redirects (by setting `window.location`) to the URL. Submission data\n  values may be interpolated in the redirect URL as `{key}`, where `key` is\n  the API key of the form input. For example:\n\n    ```json\n    {\n      \"on\": {\n        \"submit\": {\n          \"redirect\": \"/confirm?username={username}\"\n        }\n      }\n    }\n    ```\n\n* `validateWithService` passes the submission data to an HTTP web service\n  for validation. The `url` is the URL of the web service, and may contain\n  form value interpolations (e.g. `{username}` expands to\n  `form.submission.data.username`), `method` tells it the HTTP verb\n  (default: `POST`), and `messages` is an optional object containing custom\n  messages for different types of errors, such as\n  `{empty: \"error message if the response was empty\"}`. For instance, you\n  might wish to validate a username field via an external service that\n  would respond with an error if the provided username is already taken:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"validateWithService\": {\n            \"url\": \"https://some-validation-service.example.com/username/{username}\"\n          }\n        }\n      }\n    }\n    ```\n\n  If the web service fails, _or_ if it's successful and the response JSON\n  has an `errors` or `error` key, those are reported as errors and will\n  abort `beforeSubmit` hooks.\n\n* `values` validates submissions by comparing the value of the submission\n  data with each key in the `values` object. For instance, to ensure that\n  the `foo` form input has a value of `\"bar\"` before submission:\n\n    ```json\n    {\n      \"hooks\": {\n        \"beforeSubmit\": {\n          \"values\": {\n            \"foo\": \"bar\"\n          }\n        }\n      }\n    }\n    ```\n\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n[URLSearchParams]: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n","readmeFilename":"README.md","gitHead":"7143750ff80f067afa4add2bf2ffc9b2b1fdc0a8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-956c894","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Mk6tABP9PfSBV+1f9DnqPX5lw5dd8q5kS5Ozi7vzSxcCRsF4qca2SrkSAFnkgfjasEWfJSDrXrIAX0EuhGQnIQ==","shasum":"b6cf7a60531d00c85fa981d23d198fc3c04601b3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-956c894.tgz","fileCount":253,"unpackedSize":848798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfo1MACRA9TVsSAnZWagAAB6cQAIINv8qoRhHuQPp5YuSo\nF0yofuMSBrMt3tEn5+VVam9ey8gn86JNRWNfg+sXBi2lbO0NObreNUtmwoBg\nxFGpVOQ9IB6nZ2VorVsPetjxWyj7GsiZkppQNdpQciY5N5z1cjUxb7TYY2Nb\nu4hOMNAUBtycZn70Y332pdlZQFUhgTajrz/C9qL1txdnvx5jNqziHsFmjV0c\naDpB/wATiFAZnwfuDqifc8FNp0BZirgDZO7YA3g1uVFhafzsRZNKS/i7axcA\nySlXvgBDFuxWjPJWf7tYmxOws1cSbi6Zt6IgIa2BnOZcz6+ifNXYkjKLa/HT\nXVRp781mNU44/Er8DSnnbls2ApkAYDBnkSBEM6q5EApFJXAJ40laPQziklV6\ngE/qX5VU/hBLUeUpDi59EG06+8TFnlPes0UGGDZQH1HBeZRi4aP7qvbnfVq3\nTUkMnIkkCGkLy8rD9kW5kMqR5J12ykM0kodCPFCUYhNPr49iUtqKySBQVxAt\nWJFfF2sfzDvcDiat6P/4yOxzHrAqPTCF9m+K+3dKI9sBbA9b6AVTKB3xEwgr\nmO1sR6sWFfy84RwHbqSfy6SUl4eO3O5pmf2d2XxGn51/ZXNRoFyuSceuBCee\ngQbtWtlIBFlZUKqXNF+mLSV3UAKLBLaohiqcD2lnB2/hzvaDqwUmPAwWX6hB\nf6O6\r\n=LjfU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGvidO6zLitPmxjiJPLM5nwJ+xQa0CC0wncDokaNELcSAiASgN8WMy7noeE/iWGTT3+D2dZX6yPYs9lpVPBbCO6IAA=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-956c894_1604539135965_0.37203766593594034"},"_hasShrinkwrap":false},"0.0.0-cc1fdf1":{"name":"formio-sfds","version":"0.0.0-cc1fdf1","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"55d09871ba9904f02fdd662a221978c0c3b9f441","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-cc1fdf1","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-RZdZASs9MgXRJypYvaMGgBMndkb6YGi/+UIpQzriU/VzKAwDtdv1daFlQW4r/CokgTzzQftZ1ltncXjArljxDQ==","shasum":"9112a159fdc33a756e9d09364e7ab6250fb0b14f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-cc1fdf1.tgz","fileCount":276,"unpackedSize":993842,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpEzACRA9TVsSAnZWagAAtzgP/23939utPYFj5Ofsqpsm\nbE4uGZZmVD5GqlEoBALBry0eUxqBNvqbbRPoOAUw53Ki9+girH/nK0nJOYgC\npl1Ho8M0f1cJypbCBylmtD/cyENpMsQmnZnRkJcVF/Y+wAQ9LXlpjbjwckLi\nIkDe3RNydhxMsQrU1uTy1o3MWfLzcxbCxS1HCBrHU4NBe0eJscZk1hRwI8rr\naMNENJlGwEELxak/GiNXqmp4WvO6r6Mgkg/txpUkd0bVH+QnYvVcn/Jbbr+W\nNFkgWzEbLISKpsiMxQzdh9dT5AKBWD4rjXGMBeMHVVPiO6bd7s9bKoUZeTRw\nK8HXmX+5j0S0CXUqZ+fpIgxpvPUNDmY+rmewSnG1/t8kbvl1p5tthpM31zx0\npeNJP0mFj9oLsN/pkBkkh3F5cQSXzHO3qE9zrmB/paYre5xJEwIV0N60p66l\n+7Eoh0EpNivHykcc+kBo/4SFdNcMJlukE+4/nR1vHLQSQ4i58H2gSyc/MKxl\njRh6/jkL5m2DTRclR0NYHlioA3jL8+NqL2AxGNcl0mT2EX2YtGMXkupRWgr0\n7drykGnTBaucg6RV7mQvF062X9fHOcdbDJWAa93kF1zn9dkLnt/MoNeIPe1X\nCR57x9pEW1l7lA6UJ22ccfyCLqnYddrnZyTwc27Q90XJCKVSPpmG+veDk1Jg\nh9M3\r\n=4yA7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICmTdtdybkwUH5t7YFJI0Sj4bXVPfuRv3bnDkQx+lckHAiEApujm6jfsZg1tmLOQmI4RlwV/0DZ64PDt5QsP35RHyhQ="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-cc1fdf1_1604603071851_0.6254412627766066"},"_hasShrinkwrap":false},"0.0.0-59d1e47":{"name":"formio-sfds","version":"0.0.0-59d1e47","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d5ba95226c0957b712667c3a6a1b66b94a9a0f2f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-59d1e47","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-YVZ5lULGdFOlZdwW6RfQBwGY81dMZnPAJDpbgNII8HLRCBumbRTfG+yfhUKLoMQdGjgE6PBz2fGM2TdIVtBCfg==","shasum":"152a8d419810d6366862e8cab46f974061140074","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-59d1e47.tgz","fileCount":276,"unpackedSize":994053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpFDCCRA9TVsSAnZWagAA/WYP/1W11bkDp3kctFMWhb8h\nsf4AgAtwZ10yWGOST1R3cen1ub94ELnrFro3x5kHUrpdReMld2JpKaCqchq0\nn34OnZutSK/vD74Ck1CySu/evSvRDym5FPdmOWrlbajyI/8q+etOMvH07QTr\n85Lo30wW/hVhPz6DD0FHsFuhRZfs19kHkQeul4080J4vARLwfGY8nqkNuKV5\n2fDA42KhSc98vj832d7uoKUIH7tq+TLPaTr3MDYAKqBo/B1HCTJTAX3ikvfQ\niS7bnrobOaU9HaaUlwsaQh65qfn37px0zzltZtXyytGBnclETxGsCAI6NSkQ\n7fQsUlyPLoD5nOKVzJMuIMZO70J53kT46dOTC+AgAOHhR7h1bYz7o+6cDoXp\nWQkOdgedrMzHpqMH9K0dl5AnU5JkBhFjkX5TFUkKOqcyuRp2LVtVaa6POGwB\nqQrFlbp/oG4qYtseP6Jk8VujV/GO4QlJppOJEPyquUfZkfyxYd9nhWo8L+KL\n+Vw9/Da1T66sVrT1ksZ8xpdxKVZCp3bzemhGeepYezatA19LJDi0kFtJMZqp\ngmIfOBNjjme+D+CloRjKgeCUCXxDtyJf2pScVja30uw7bIQfkYadrMbVDbBi\nSjeMKLpkFE/DKvAuavaufKFLHxTXYL6+y9cD27konyTJz371k3RW9zoXSGbF\nnEoM\r\n=k0v7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgWnM/1tLlchPbCHd0VihSRzJPEitxRbBrVQ11yzjBsAIgaHcYAt4shar4WPuvrosdcYesifzmxJc3TccZUgOmjgk="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-59d1e47_1604604098332_0.5791488065891719"},"_hasShrinkwrap":false},"0.0.0-f30c709":{"name":"formio-sfds","version":"0.0.0-f30c709","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"df8d58c12deb60811458577a359f48744f5df951","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f30c709","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-6ThHwPldyU+1aQdehpcoLSDg/OelkaThVby0mZLRzuv7Sd5bxJKn/qBr2DYTYsbNMgWrMCmZEiZheF5gbv+Ghg==","shasum":"69212b84ef1cb7a44f224ee550ef4d3f9ef22d08","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f30c709.tgz","fileCount":277,"unpackedSize":998561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpFUNCRA9TVsSAnZWagAAuzMP/0EMKyhlLSCMFHRF1mfR\nzM/5Gv/58jyl43K/c0g15IHrXJM9YnlRMjrWhAcA0qcdiXXklhl7PkWtQvFJ\nx6i4/nZF3GaYuWYWvy4PbQ6VWjddyPIHrXCNzWI0X8ruIlLnBgF2Rx09wC44\ndKBQtSQMFfAQxfx/aTztyzTJietf1hCZu3gjH5Lt6n9glZwloJKve5B8fPJU\nOBVjFJXHELZwDBd8yGHKIMlwn1s87kIQqlj+xC5vRAzVvpEgEWBDmoLCMUmH\nNK+qMQ3KfhWkXBse6xcrfxFm7XbPUD0+GBh23QNy9/s6bHnxolN3NY0cmbop\nJ0lUL2zdzvC/SyFctwRKPtiFkS9/ney63BM3QoybUCXp+7XAXvPao4Bh3FWu\nwMJQNEMAVs6i7ymbA45QKtiuzc01ud7y5wP2fXJO8/D6dajrm0iy0jCG9HTm\nwYBl/HcW4M7xmeirJYm3eWJ+mhvH6T0Hyo9NqScqCVfsmOiD4pkFW5gA0Tzj\nTWnnYp1fnaAAMicqNEqzm5TAy4RW3VCgJZB0V968SClN83rL75+4Kfq9hvqI\ndKJZHmcbkoio/5XapkNkAJL+/UWiKEg4JEebeLtmE3AwQn+qJfiNbbGSJBlx\nVeVQ+ZGFLDa5G2z5mdLvODtVz/vOr7bpIK7LFp+parv7pipaMdXDwWIQ6O0L\nVNdH\r\n=P/2P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC85PkxoIFpQ/Q+QRaQonrWT1QS4K3tZmyTgWBbLhUJLwIgAxQWqLphOCcib5+3utivrnpW3g/1D36PccemHtYJFlM="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f30c709_1604605197088_0.784950026903926"},"_hasShrinkwrap":false},"0.0.0-1a65290":{"name":"formio-sfds","version":"0.0.0-1a65290","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"9aca5a28a0a01cc5f99517fedce4fd9784831dd5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1a65290","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-0p7hznwUmsge2XHchgo9KGiL7QiAqh8WtCbsZweB77kMFHGIdnvFdgIqIhdWf26qcyKiJfS1VemEuJvkBZ9JPg==","shasum":"d2b6baad1a7915108bf53566e5789c95261f405a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1a65290.tgz","fileCount":276,"unpackedSize":994094,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpGVxCRA9TVsSAnZWagAAoZUP/jZ9lLXsmdytKaOoUZ2X\nay5yAYYdQQDM7F+jS0tA4+jUzfGfZ0XsfvkziAtEpZxEChBf8VVJ5z9ts5xu\n74jsg+BTMK+e8bY4ufTBR3o+PTFjN2e5Ds5tUHf9YH+eh5JJ+0fGo0HfpmT3\nSRebtjdYIdH7MkmL0vqygzD2CfFHiYx/q0lHPPUhJH3OQfScfxqKNEajIcSZ\nQLQidAFC72lRQOHWsXkvordsR4FUdxDzyqKvtEaNdtQbzaDgcpw8/mi23WrM\np4ZdvBQ47ip5wBH6+vtHgI2A9YkPyOs5dEd4wgVUHtoGp3hwLy0m4vMoAd2d\nt/ehEAIKN54nMEqDe6e1xEoyx4rsTkRWLppVZ9xQvuNtGp86AYZgpUI7lQGk\nkOmKptGN+mMwjMATGNTp1PdPbOHCTaK4VCjPzT+kjp0SIZO1u/Ovlosx9x1u\n1besFrqfB3NMnHrF/lc5Pk9h0WdqNFXxB8cigxY9EQuFsMjFr/eRDiBPO16+\nLsQ3XvTFRM9AF4hy9eaowt8LRDIrHFs+Fgsf88G9M+UYPPQ3a+l6pr/EAxNa\n3DA5oTLsdJGGntA3s6VDwKdDZflZoTwETpylhdanWF/XeM6XZXID8wyIp9ob\n4K+eDACEasmzumSy2EOdgk6AWLT4ClL5q+XSLIJBCa2UQqTYzVEbHdTv4sd2\nzwhW\r\n=6sIK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAfkbvaa+GWE/JsPReZRVhxdKMqJgRWjZ9LknzBSCDL4AiEAx9Jr7UuKn7bc9waP4Q8jRLxRCtC15M7MQAIWh62SW5o="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1a65290_1604609393020_0.5360458500323668"},"_hasShrinkwrap":false},"0.0.0-991a70f":{"name":"formio-sfds","version":"0.0.0-991a70f","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"29c0d932b3c8c6afef6f78404efe1a8d710e0fd6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-991a70f","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-w+4+ZciLZYkCoHXEZ+KY37Y8DZymDG+xQ5jP95lUT9bEGS/ZH1I7GkaRc9WZuu7lmR4SyFTjCqZcBmlJBaYdPA==","shasum":"fdba21bb58f0af38f555423bfefa46f9529312c6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-991a70f.tgz","fileCount":276,"unpackedSize":994181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrY68CRA9TVsSAnZWagAAh98QAIicjo9guZo42IrDlFkR\nZkfHxXeA8wKDLkvQSnGU43Vl8ibQBgkTQ3lReFwwM528sTsPnuBhylnRQtlt\nEdUhkhc7rG40uwU1K4vMnqTqDQe7eVqTP9xuaxNUdMpZ5yRmxBQOIEkPuin3\nEIs6SPMfvSIkrs5bHJ4X7OEaTx4E6XbRQO0NAP3Z3wHPXAytK5ifLRMbHw4T\nZgbKcUV+nRuopSIAF9JDuJZ8CoCGO1wndFplqM6UuRGX/eeU9v8/VjRXNyv2\nFrMM0KP8ACv0R8COwXiQ4nSLVByha9hPeMuG9Jh7uUzDSUHNJwRiSovqx5gk\nfbju43XR17odRSfeFItk1IFyue50OIAL10CFu93gCQzvddXt1hKrWOj9gRTP\n5WggdF4udyiJwJtRemR43eQspAMS/jrRG21sDkUS3eM+HoZIjw7ZkmHH8Nuu\n2HsS2dLHd1zxU8MkEAdKUBhS6nhpxJpdZK6dUrQq/SGVrI1CDax5K17cz1BT\nwa6GUdSzzOFcZ6PjUOXkytCqDs7fO0zTjm+hoVsZ3vdFMTmjp4WOX5fH56UM\nAJmxoziC06Zxqd9FzHL+gzGeCtPWo2VfceK5QY6hRHD7NDaONf9BsvXjvFsv\nU1s/z94HPaueC9Wm6f3wMOpsBuQ0sia36KA8VjjM0zxxzzzI0HPhXNlv4RgS\nCGw0\r\n=F/N6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFG7qvO4Qwu28NwxVWYgb9pG9VU4WH+uCkFAYQMpC5whAiAzwxYGhtjgg+BzUFe5cIEt6xXL1ZANMmXkNuX4K06EmA=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-991a70f_1605209787350_0.8806257757977691"},"_hasShrinkwrap":false},"0.0.0-acd3019":{"name":"formio-sfds","version":"0.0.0-acd3019","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"0a76c70b81c72996de5b5c19ffacfb062af53a68","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-acd3019","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Xdy5JJTCsRhzjsFiWQY6Nbo8+nQTp2l3aj/lX8lqF6i/ZFZwLVIuWBH1vKkX44n2mzikdswM5ZZFYTxbjNCDcw==","shasum":"47d423b445c88d120ce50e448f17a5d04401c417","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-acd3019.tgz","fileCount":276,"unpackedSize":996302,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrY8aCRA9TVsSAnZWagAAkwwQAIlefaM5WNHK9Dr+89k6\nrlG2oxYY+y0i5KzyCljRZWNeet0zASa+WlKbmC2OZVlO5x9HMuXbUNDZOho7\ndRrf8i+WNHs3nY4xrYpSHecYl4xflweP9Lj68nHnb2evsKz+kCM+Os5vcLyp\noyX0GZz7CGCNZHtxehi+RM9MkbcJq754opfQjYCfYPRIna/DzhWFEO+bfo/E\naEEdc6jOg1nkk3YkzVrRoFqCja6TJMyJkSMb2A7iWmOGtEaLTRPWXfvhaoFd\nr8/aome8pdqJO6PiLbeBAXLuxj3e6/XtMDE7RVS+dNxLJrPNljbV+gDmIxBD\nvY561uYcEd5UUP42C0rYdd0obB+opQVT9aMRs66AxX+xRYfBfKZtEEHiPQjB\nlk3NSGJjf/W6OpOinTatZ/xIs009TClLJggLw19k/7aukcBzv0F1ktZ2xW0F\n5dMC4skXIi1E/FsGlLNCGLr7X6SS7WUbmN2+wXYxw7fE+wUFyUJG2iduivyI\n2dFGQQBTjPQHbq1AUOoaIlEyvWHmFQFgg3FbK3tLOTYgrreHCBOx+K5BeCv7\nf31FRc4CepFDONZdfkeCjgKaMVttWXeTQdEPSCaios6tsg12P4w5choI08lg\n4FspmozFGi4pkcYq0C6KBeQWC+Cj7ejYRa07s9UIC/9uwrr0+lfHuqMcQEJs\n/CFn\r\n=Zfo8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVy5gjW3Xybv8HR2etpSPFuihR6oOK/SQxNY50UKy4FgIgewgpsOBNzPDxk9Iz2MIrWfJJxT1l+992BCel2Tz16GM="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-acd3019_1605209882303_0.5065832528450465"},"_hasShrinkwrap":false},"0.0.0-58c15b4":{"name":"formio-sfds","version":"0.0.0-58c15b4","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"c00dccccbde1e7dc0ce4ee5bbde31dbedfc70399","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-58c15b4","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-wIr0xpxYoLVf3EcmtYhlojk7uS8HaLOnQ5Rp4RDNxG49RrJYRpsmb2KLdDJreo1LtjyjWaGOXSzY6GSE5X3jsg==","shasum":"602cde7118a8eb8fa1ef788237e837661601f773","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-58c15b4.tgz","fileCount":276,"unpackedSize":994200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftCQdCRA9TVsSAnZWagAA/oYQAJrn0jGhGbH8XWQk8qjU\n7tRr9uIHCj+4Dz/CyBU8B4P0v+lfOnaY0w0XG4Jr0crW0NWxqCz3WI5NlB+Z\nupe/16jDhpgzl/TgEXDF0HWETYah5iD3phF1Id8avITwdJA530CghwjKkEIg\n+JPRpTC0yfNHbZMjgm+ibVcVltKNkbZYSyfdQ+I+50PORvRwLCLxfWDG67hp\n0cNDJOBI+zFl5RUTTWnfDvwJTl7ivBJn4Mq57CSVOXgdKqpig/vU0Dqyf+IC\nZ30CiIcDUtcyiPQOa0vYt76O+LIe8nb2tMZrrgq4YyWnuezDUpLrrIdgSBtZ\nO6uHYvpIblJc63uIe6GB90lfwztbbkopgfYOevy7zFGb//x55MC8f0vGcUHs\nhewa7c0Bm3JqN7iEvXTL7D2vAF3uBD2nGxVr+77cFku5iviuVIL3w6fuTYCh\n9qW5/JMvCj/aeXBF4ZDzfwFbTJJatUWfnM4Y0H6Wc52X1Q9Z2ab+AsSJ351H\nmHQnhI62qgQOzcypyPqG1J/s4B7oD9Kqor39Ru0YJcej/nMQkslXlJUkBPsn\neOylgJuRRSs3rB6HAgNBVOU1ROwgqUIlsoIHkhEtMNQG/fKlEdjBNIF/vbPe\n0mYTyQ78Ga1xCEMSt/UqZ44Bu2HgdAEDadqquU8drQ9ehGVwSd7QVJEwerLz\nW62K\r\n=gAVY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmXaimxCArVWYzwl8aPBHH//27b67IRlVsy1rSimHf1gIhAIoURfTYsgBLb45fv7284YWQBTt88y4sMNXjjTr9OsQF"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-58c15b4_1605641244798_0.8529663583964986"},"_hasShrinkwrap":false},"7.0.1-rc.5f94bd1":{"name":"formio-sfds","version":"7.0.1-rc.5f94bd1","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ad6dc9eb04b961578a2ddcd057e2c923eb9161f9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.1-rc.5f94bd1","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-2qmQhrqL83+S1tHQpJ2K5DJsDXcWMDx9uRnO4jF8McKtBAhOVnUkvTwLxo9Gj1yHYGOy8MQSAg1gc8xabYMBlA==","shasum":"5966263acb54585dc0f6bcda5411b676e7decb6b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.1-rc.5f94bd1.tgz","fileCount":276,"unpackedSize":994056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftEcuCRA9TVsSAnZWagAA9EIP+wbhfle9bDP9i5GjcV9N\nqIUwUnycZNFkVpGNjD5cYeGyMcDa1NGqRHOo51EzrUwD0NZ4xmJbJ0BGOjOJ\nOo08DU8vFWlgvnWru3KH/fYNJrmNeZjRBfpYd92zVGAXvO/dYQcPtkMnml8w\nyzsIDJJIMfMLCTajSlakb5h9LXo85RDvKBZQ4EoSrEAfp39P238KVMBh2Uhc\nVy/cBHwFjJHRWc/j3SMZDH3L3FOIbfrKI4fMSIeCuOcszp3Wz2hnLWq7nu8M\nTsy9W8YtwNTrLjYrZx1x4oKu7nNNHPJOrXaFdR6xmrMI/V16Ctx6+aDul0wo\nUR1y+aVKC6y+hseUrFKJU+Y44gEZonfKDtM8OTGAlptRZJeVTa7YE8Sw46qD\nZSG8BsKkd4wyBsvpM4ir5MhX49GR5Vc/8Sc0r/0wTQpxR65oQTyj1cIv3as0\nNlfLXs41ZgxN1ZIFK2XzJvey89BeMambASttY3cCeiekp/YiMSyxa1tRc88J\nkPuwO5o6MWJLJobSuDNvxftSuGQ3zpkL58MGwfL5i5gYbFouWoERyumhLw7y\nxZu85VJzN0G/dY5ikh/C7dbwU2wNqBrlA0XUmX0nE3D605oR0Llwg+L8jOhA\nytsd+S/igGaxtYdhyzI40Vd6CPxZNNU/5x1d94sbZUFy7UrlfS4/v3jTbjLF\n18Tw\r\n=DS17\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzg7ykYO1v6IBj14sI9l6HDF93kFcYnm16v2nmNysXUwIhAPScopx9i/iqIXeX1CxC+n03LE1hU76pXeMNfsrvD8NV"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.1-rc.5f94bd1_1605650222158_0.11285706231254511"},"_hasShrinkwrap":false},"7.0.1-rc.dc6182d":{"name":"formio-sfds","version":"7.0.1-rc.dc6182d","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b4e6ac3564249d70b8107814564e46125edd0ad9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.1-rc.dc6182d","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-r/R5nCrBV76MUvI/AVdLaODHfPdmpIpgmwpMjWW8GDi6euILBHVJm/+u6aNv1t0Ry7jGTUm7jK6kIDYb4x+4Zw==","shasum":"d0ede1fbbb3aa217933e2887683116743bccba65","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.1-rc.dc6182d.tgz","fileCount":276,"unpackedSize":994056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftEh7CRA9TVsSAnZWagAA+ZAP/3ayt6DuN75122lNnGzD\nrCsuva07fpZZsgHDzSGqoOfKE9qgsaKEyk7QOkeUJS50KUXaJayhwi9NIS4j\nSHEbN9ICEeCAVucmeGZLAeB2Ob1EIxR1grrxahLHGLWYzVR2tT89fABmp0hE\nRkKqnLYvYTVBdrw1IJp+VHtARRTseDTjbspkeRh6u3/libF0QXg8b1oF2Twj\ny/YhkGSWQ1H5cVjz6KiP/g84a29SRvCI7sQTqn+doNajs9IKyvsC4H1OGRE1\n0DMXnygxyWivklM0wluf1dhPLrw5tTWIqbZ2Oz5OXKWHZ4e1vTDZkZEcOA9k\nR14wEqKkJPLr2o0QL2tY9KhDqmSOF14nDo3+8CQhlIDf5dBJGi+6kWC82WRB\nFkM+NVMjosJQO/N5tE1AoaaeHSyTuwWZcgRjMpeuRF0g/Q1hM0qF+gRyOIuR\nY7IMJEtIf0N8DNMgqBWdYlhbL7DVXbtcPh6xxQUcmRU9f+fyDnR/1SCI5WM0\nTuXpM6TM8gQIPijzacU0FRScF8I9nHLqRYONNJmpJBJlOZK/zP0gTYDAlB0o\n0Zf5SLL+X8x9ayqZEwId0KJZxDVCETcI/UjHoKqO589VH+hQZbdodgfOsJnE\nqZT5pawztje4v7EKg5lnaBcPH8hsFQCC+LdUaQnc62/HGRnDYhW722/fzpPg\nj58L\r\n=W3Jx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGs7QlE2IWebDj3H5xLhKNK0GfMJCjdjP0px2u2mQQWeAiEAqW1WsRrHa4X8i+9MNjKwAEz+eSZ1cZN9fhpNom65EnI="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.1-rc.dc6182d_1605650554735_0.664174043370076"},"_hasShrinkwrap":false},"0.0.0-cc98fb0":{"name":"formio-sfds","version":"0.0.0-cc98fb0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"c83e14b9f18ff5347a903aca4fb080ce45f3b7a6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-cc98fb0","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-mddeCNJmNlOX6zoq+XijR+CvmdHQp+HmzdHqneeDe4QrXfzXiYeS2M66CBzydJgCafDZOBQgAwGtahVnCFNPCQ==","shasum":"b085c55079f79833084402d638082824e1dd49a1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-cc98fb0.tgz","fileCount":276,"unpackedSize":998360,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftFH6CRA9TVsSAnZWagAAGmMP/j1oDwZ61YR2AfpLomG6\nfJAjheqUPlbJgepoOkBPs162RxJFlRKPZvWoRxLqt8EhhWXdS9q2X7p84bWS\n5AegwUFWGgClSAS7Q1Hs/5pCq9Ph3dEEmb5AvZ5JDfPoz5nQfMGUupHlWl6d\novhQZ2O2vgACX9LFqKsJqtQo9uPAERZFFr8r0PdpOIoSzUS6kY8xNxgrTS2v\nb8hTppuKWfixR2VEscQu77joklP6Leg4J5QkhcKc6tZnVNzSJyiYIkvv49Aq\n0TjAwJim1FETx+2s9M/pi0YZP+ml3v/VNfTM3R327gAeR9ogdahY0f6H4aIF\nBZQdmfDsmKESiaRT7UlrUu7VTajTnpq7J0LLD+tx6/AtL7vrzVQGXGFXvEFg\n70DkfPg3gkC9iPPRERKiIBE/9CpoyNmH9VAh37j/4d/RqWaUDGoMwLpvKMjF\n/WJAWnKdiLv9fmlLDp3rUlnK3Dp6KLxPSKCcmXAxPkER9Rs43oblMasQCBtZ\npKYOMfaQbf9OzgJdHfMYLxUUGfYz+sJ1xXN0rj1SCFhEO9BvWURACblt/dYI\nJGWkqi2KuLkWnRFYoDVJLrCpRXM+1UDZgwfqM9bMjJ+MXR8zysEFTHMq9d2G\nSKaV/ozFK6AS931a3K/0BFykY2mzSVVYFfYFOf567OPDMw3niRhOC62Eae60\nLFLP\r\n=rgpE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEkeVsgls3gxcBi7fFtuWdEYWhDp7Yu6HjX3UlRUY+hpAiEAluCZ2SF0KPUoir4mhN00EdoWgwSmk2f7s3ZuS/fcghU="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-cc98fb0_1605652986230_0.6690639653623212"},"_hasShrinkwrap":false},"0.0.0-713626d":{"name":"formio-sfds","version":"0.0.0-713626d","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"60c0e882c34d00bf2e221cf0d3614da9427a7c59","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-713626d","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-HA6G197gaTLiS6ArMpuQAWUiY3enbltXHLZHLUtQKB9kQdIxcBa52ciBqLIdnJ1jOCGbjjJZVKegTxdEpxD+7g==","shasum":"7253e36107a43954d39c5220779d8863b6752986","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-713626d.tgz","fileCount":276,"unpackedSize":997310,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftFRlCRA9TVsSAnZWagAA5LYQAJqYU2dky02yGxEShFy5\nDL8YavBZ87KDQ8dc3ypDqTKQloVL576UDpa4w+QINbulCmg+kKxoboK2dV1W\nYbQ95eKbNxh7wYG1f0MGw3yomOYPd6T9RXXnj/izSoVGY0NLH8Z6G9h95qHf\n6DVujDdv8+dZPv4Ov/Vn5j4hix8D5uy4q+y4n4jtjXSrXFYBjlM3bDmJ2BWC\n78psw8o75ZfB8uBvneDblGLeY3smCvdD1SJRevKUh7gJIOTtjrimHqGfE9rU\nCecZpao4rvNjppEc0hE0e9K3LKY8Z/oz0wyC/KhUpxQLeirPNchoq8ykrcee\nKc317KIFCQGYtjqv5gEJVaZhlr3ddxfVVQJ9daNAxIyhe8C0NsAalqbvLL4Q\nFCKqyiSlN0LVFbMTDQut4mTLGnNdN2OYH7e72e0ojDhAjKmEZ4Bc+WxOT5Zk\nvAeVY/uUtNFln9jzB4HQOhI/4rdSzOe4BXpSAjpy6KSeBa8c8fXgzUlXu2hW\nAqGk7StQZG6rmiBw/5sT43m3ZXl8jC6ppuj9rC4ci1t3Z+0U7P1n6sX6vcVi\nIfUppBwN4ZAFRJYRtojxeaDyMofm/ebseF//2hARp6CvKs6Qa8dOF73GSvHz\nGnb4JcKG024QZDiPsgjduVPs8k5AvUNffNkL3AG+syJ56KJjSXiygrFSQ9nP\nleKD\r\n=aoNt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC0qvTQBTJNbOztaCHuE2Rua4xuKudQ8z8s+MdiOoaEbAiEAw44HvTSiSwlakyBNNDSY9ir7J8tEqef4fYMxwc/V2VU="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-713626d_1605653604701_0.430528896599661"},"_hasShrinkwrap":false},"0.0.0-a7deb8a":{"name":"formio-sfds","version":"0.0.0-a7deb8a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"2ba7fc641c4ff9d7e31c0c738cc2678b388e84e8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a7deb8a","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-wmrsZ17TMXrp9zxGZ7iMQsyUhHiOaEfZ/crUNhqu9gaYnKgbnmhbQlji3NUDDYkqhIMv8nr3CkTnhpEogqWEVA==","shasum":"53463e1700e052910b486512339b5f8c8c7e321d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a7deb8a.tgz","fileCount":277,"unpackedSize":999526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftLWUCRA9TVsSAnZWagAAa6sP/RMTU3KfYEVmCr7pxOW0\n5bxhU7nqwrOSkiM7SL6F4/7qVNrIzrw/FCRE7Kb1HD1e7GS59KKwgP+Ihv2R\nwi1RMBGRE3op2dvYrQxGQzsdAvRekhX/gBKL9nAQ1InryEwY07bc6+cNZhj7\nFmFAaXdDpoDMcqtaZTontMVMEMfiTHYECSluiH6Tio/xoZ+CFR0Mu2R4oQDe\nExXRl0IJTt9X5vV1gyPhhOvRoUBn44GG0An7CP6gQ3AHE5i1Dex6FrXsvVz+\nQpOFAcLQwqcLaTvNyh1E+4W/bMQl6/DvQDIzRAMqqdsdZEz3I7wMDgE1U9D5\nmz5Tg14YUvHR9/GABcjo1iUn32NL8zg4pSd8n2NzMs7qOufiVOjHYERZOr6/\nGffgbI+ShTaKn/2kXXZhvDcZVfVnTDi/9XeMjrm/0KT8Hf63iXTHJRMjpJlQ\nzS/sP+JSG76+VqxPHDta2eVDN5E4Z3UiXIh4h+Gxqi94zldiGPp+M7J61w2s\nat/kbYZHGmceql9kEQr8PTjtozHAJZBzYse1zxIL9TTetcfdIBo64sGZdntg\nL8NEqn97aokCDiWq8pAuLQPdZla0nBPSkcsHatozcCjMDrI+sTGEtkR9n290\n7+/7q0xDHgoWsAeT+gocCoRY1WBPhelIkYiLkp7BdAOeX8MgkHncvhwat5M3\nr5DO\r\n=nEdf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZmDPnBLNplGvK7Oaw1QrYHT99DNzKhN+1RGZeCF+g1wIgegLopoUMiCZ6DZLW/9uCIM7XuQAPQ6scoGbwttRT4pw="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a7deb8a_1605678483813_0.4422325497881099"},"_hasShrinkwrap":false},"7.0.1-rc.f074bea":{"name":"formio-sfds","version":"7.0.1-rc.f074bea","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"7232ac79e20a5330d98033d70f8938419c591b00","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.1-rc.f074bea","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-XKQmHgbqg25+yfJaxwT7KPYhVVpZ3jQhS91mKsOxuntlK3muASHnfNGT2XRTuBIhrSh30HVP/bqqaMISey7y4A==","shasum":"b4c94f055e97c0bf09fbe04c45226be29b3c388c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.1-rc.f074bea.tgz","fileCount":276,"unpackedSize":994203,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftLuyCRA9TVsSAnZWagAAmiIP/0xKTsQBJw0L+g5NQOTV\nvQyJEpzw3cbFeEbtnyI5S1Ty8+0RjVwaVUgLev0Hq8CvtIgYZD9w8o73yCgm\nGjK/vd23eblW2XbaM66yXFQTZP+odE9IOJi1smHaYH8UskgNgeZBc5WE8X2V\nxgkwngCuHWSkEolJ/UyByrUZsh3SPtLBv6oGgmDDJTLcO4llv37cf9GRWVe7\nEHMWj1oD7ErEoROtDiEIvVWXtnGTW+L/HqFyQPxwJ+qibXK5M+5GbW0kG4ZM\nngWAqqO1TzEmf1XvM623FtYuEbt3/LIJjgoO6Buq3m41Mt94rwS+h9wZuZro\njeX8Vz+ilTwlIz1JKhQAhjeOJERS/342G9RTHZloK1VafkAiq2SZN+GxdMSF\n83c79WuPyKABcYh2Y3LosDvV18cXTn0QxRSAkscVNXsZBR503r7CNx1JnTOQ\nXC3CzuTvECiY0SLZlHHEmoRvvLBLuyJcSnAFbEBFDeruOF4Yzh248cr0EOn9\nY3X2nWMY58dFUlt7oUsIZAlVo+Q/tpREBzc1V4ykKkib5oXAk3ikHqpme+DY\n8QPH63ejoEsLfAxcPLrF7o6M2D22fHh/a22BMFU3P9eMdj2bUPxscNxhodjS\nZS7t+E7tf6ihKX84mNAhLzh5VehXjOJ/FZltKt3t5JGpF0ETdJ2VPn5z4XCL\noeJv\r\n=QDiS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDJTIoAdsjxfn4gut4DmWJolQJdy3PLcMdVvD8gVqlXhAiEA0mFNwtl6SRbywHHxnypxSr2MvxtgROUuz1nOvx4vq2M="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.1-rc.f074bea_1605680050171_0.44022358136045137"},"_hasShrinkwrap":false},"0.0.0-d192062":{"name":"formio-sfds","version":"0.0.0-d192062","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"183371102e55b4e165f281d89818efb0e492b46d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d192062","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-+7ii8m5b2WTEffIgNPjU8tAzgatgf1zGaik+bkrSNYOQ7oOcl2+vCWAvjPWLN6YHa0BgGxHEd4i8ic1uPEWfqQ==","shasum":"7889644f173fd82c008e4ef26ab90f6a9ba1b1d3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d192062.tgz","fileCount":276,"unpackedSize":994054,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftZmaCRA9TVsSAnZWagAA0o8P/2/HrgiXfZUzYJi1UMUM\nzGYNGSGJGXRWhXLPP0f5w+Q2FZFcjIs69OxOkYcHo4lYYylMJyZuFFSRg5Nj\ncIoHT8JJdEoVBCIVDcc4swXQCf+9mdkz7g+M3YWjlcP57dkQDHZXF1q3bEda\n7K0hKJRtYXXbvmw4weMnet/SKy8rBo6S3VZs2Nmfwn+SZiOLEavUxm/8ided\nRNu3DYtXCF1PBEgrI4hTFMsJZ9QRxM4MBqlkZ5vvMiB5U87bWdLtG2gFvMrr\nedXXJw5jrYdAdiBdHmuzlXYJ24Vz5jvx9YRn8WgqLrdXaI7/qvUKgCwCPA37\nqpjbnoYANbR8bRPi6bvZhHCrx+TqqknrSglSzvNRDUaHm2y7O6B2kwVHU/Bb\nVw7CZQZgvr6bdje+4gcUMHINnsRBVEnpLkwcJqZFXu9GAF6rGKSL7Xvx4P2F\nCQxzjhLh9kQVTbH37AwF8sy4wfXJCYO12BOXlI5VvewL8nEaf93makFT1tg7\nz6ENJid84Ry0A467RbT28H6HOAAVALGgHWGO13X89onns1lc5kZV6Hv6tDjt\nUk1hGKpxRBonMM9rdTGWQY7PXu6Y5qkkuFLQsf2M0tOxubYEpUifzNDl0Sew\nGzkVwobswk/3ybJmfbwwc1qchVJ7An16hcMipI3rho0Gd9mMNMN9qRUZ8WIs\nW8VT\r\n=awh0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCh88YAT+trIxHl717Z/6xUxaQQ6L3mYVfqNZiRQnLoTQIhAPs4NZqdfT7r0zlIOCC4k50DyHME2OLBzGCWEkLIPCV7"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d192062_1605736857244_0.29119523952946147"},"_hasShrinkwrap":false},"7.0.1-rc.c74a2a2":{"name":"formio-sfds","version":"7.0.1-rc.c74a2a2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a861f7ef852dacfc925b69ab6b58d2d7612fb3f2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.1-rc.c74a2a2","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-k7/bR4ohBU5146pAByZdv5JX3bhAcvUedF71mR1v7Xu7DdLPsupW5uqEInlTNhGqNF3Qxd/8E3IwO3zYFTZMvw==","shasum":"915efde7060758aea4cfb1618d1c0ea0335be600","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.1-rc.c74a2a2.tgz","fileCount":276,"unpackedSize":994204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftZocCRA9TVsSAnZWagAAZhgP/3X3DwLrCWQh/lZk8SDc\nsbIjgStwC+WMKMo5s0DKsYhvn6lf287Vy5QxzmG1GqS2YEAFGvE52d2sqCKl\n4upCT0nzZkV8q4uTk1MjgcydB22kjPq7ocdtarVShirV59OZWTG03FBlf28D\nStyJWnZJPEK2SJHoBNltMqGuerqkSZEGLPRruRT6QBDL9XVoHZyjs7O24+48\nR8l7iXyTB8KpsmHC4BBm9v6beiw/aUNmhcamAZ2a+hMhSMdlJvLMPBvzxJVF\nqhUQJsj+WrERIHtg1I0JbQ0Xl5/XEYzodmh7N1sbnFyD/yALgb6sXZvyhCX+\nhmbmnL8qtYQ3Uixqkzgs7LIEOeyQgmg4AFSBTW0ZEegJhdEKw4qpHZMzAGxc\n+bxMv8S/3RuAKz9zpIYvcsNUecw/6Pe3c9t+e+V/qd28GDm+wxmyJuphOHuF\nXMvxNhYTJcE6IKzT2+VPX7+lRLn2zWXgfZ5VSrGPn0ETH9qJJa9C+Ptkdmrk\nvgjFJikQ84hSpa7tC7wU7jMmoNrvk6FX07kXt3rzgfG++TXzgC4lkJyZD36Y\nx5aUxvw/f7sfUQXJTrvcHNeNcbeZ0Rbd3sqtwF438USWK3qLcpGLnAnW2IJG\n8qcOLkJkPJkFkCtVI5Y0MD6950lpxHl//twCRFpjP+3hVyY9/8jRvbW9Pl5t\nLxSp\r\n=YiX6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDcd8j4G/211L7AjEBHwGxY3NP+YPL7OSLxBY+Ci9+BlAiB0Ie7V3khlhOguRrJ6PWGDQr1y5BZJuqaVjA1lbVRi5A=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.1-rc.c74a2a2_1605736988230_0.9606981350744606"},"_hasShrinkwrap":false},"0.0.0-f9c050a":{"name":"formio-sfds","version":"0.0.0-f9c050a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"bfb1aa32eb78c86a6ae9be5aa132fa8d7858687b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f9c050a","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-34GxeC2TJE2UGeYVGeQ65qbRZ7NPHexL2c9v8i7rERaKCyYyYnIFWpQ3nuwukMHhrSgg9u659wYi4FZEgB+now==","shasum":"9ca4e23c38790d1bd4762b18824e53c312c062a2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f9c050a.tgz","fileCount":278,"unpackedSize":965786,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfta4mCRA9TVsSAnZWagAAY6MP/jCFmldLZEP3/C5IXDay\naJezTfrjWzgaKgma+B3whnqIia7ybkYzpXhU1lTrMSxrFhDpvpJGxvyCL4mO\nQ1Z/LFlhoBp1iCj7nXW3wfTx8UTOh0NeGZq5jbto7qyV+ujPPjBZlNO205Ky\nUhpyeZfAM/qcfFLStlPiLRrzqoS5BhKNSmHhlMxiC9kFjH+b8szz/L2Z078M\ntoku5YdjzPu2aq5s/aFpFZsEpCUmrfAIyCPWqBn2NSJMyk71JLhY4G03/UvM\niZeH/34isNII9EJLgYQ3Ltm8HCnLveO8YeBP24Z70BSK+e2cEmSa4CAxBwAP\n0HBC7SlyxZpIYL4+m8Yp0uEE0Cvks8lQuStfxCchNmSk8qpd2RqdfIDV2rgU\nNMTOJRQP9Uq5463flGiYuzWp7+iDNhNvNhMbaJ1W/WOf/R8cnGkZXoSOb7c5\nAs38uS/N/qMHXydeYodd0xOrhUnDoR/K/vYQquUsm177/mUNRbZ3kPxMc3Ib\nkPtgH4AdCbOSt9tELqojwMUaa2j/G3+gewatOKmVjXQ+seztOr40ZMNBDQN0\nzg036ZBzRaFmPwIOQUEjsdrZ2nib7xyYTHLWnBVhV0xc9qS+cCqr1yH7kaBr\nGyLJ7MEzMy76Hf+ST9YuA5owL2Quh47h64QZpfjvJ7NBLIB1/bVuNCYIxrlJ\nb7/4\r\n=ytvq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF2jQfrAXSCDGCSWvz7fJxWBb8X8AgyzblXVusRJ855AAiBEOCeBQCXiA2YKsPW36TUGDRqbmDxqisuIaIhQzqM1Cw=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f9c050a_1605742118400_0.21798994511262704"},"_hasShrinkwrap":false},"0.0.0-e589ed5":{"name":"formio-sfds","version":"0.0.0-e589ed5","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"895a833cecc89d8bdfef6b6c9a3c1902c0b5be8b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e589ed5","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-x3cdSWOp5dzJoJlNVG/cj+4hSwuNixvHSnUU0OkUFNbP3RB+X9Z2GMkk6EgEbquVJB6mfnNwCA4D+VLQDwlwvg==","shasum":"f7361531956e421f5b5bb653119957284acd7f1b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e589ed5.tgz","fileCount":278,"unpackedSize":965639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftsYCCRA9TVsSAnZWagAA0zoP/18VHDmY8ts4/gvdczRs\nLeOI64X7jqt0+h2qeM7PY3d4V0vE0v+GCI1kO/Nuvl9y7+UpepvDFZYThUfM\neRuHfiRA0MziJQbVDfh9yjMyFo8NXGdlgqTYYrKvi2w71po5suz0qnAcvAtq\nSoQkvXoZN6A1q4WNpBtnfFIyPYisv++60KEPtLC9cRoAkp42nGeBxRvrdcgL\nVp7cwMJJfGsu6oQ8/oHilwhq8mtzEKKGER9cmOglEC63PEM7GpZu3Dvp9EFC\n0bBH0IVT7lZ1kSa8sOlInneZ7leK0JH5T6uJuPX5gKvrz45JcUdMhYWNrm22\nMhXj/GQq/cqInNjdOv6p2Y9PE3YhyKbpswg/1eHnphpeaOF3zl9FW7PleLf8\n2lF8x4C3DibcAga7TR3Iiq6/YDxf6Q6Z1qPwNexU4NNCOUOIJjX2jZ0ehcIO\nNVLSBJuEcDyI6HqDXIrH6Ql4k4VrSfRs2tj8LqF4FMjO8CUnN6mveiYA3y9r\nZPSFv4YGJobZdyDp6XVb5S1tlOzOc6hjK30uduyqFA1Q/quScfbn7dPZxB54\nrafTRn5ts+RPZA7prwgN0RDZtoE2mSfIye2iS9Qsci3A6bM0CJfQPp476X8a\nbFzKR+u4lbGN8e0j72gV/jCT28OWNl1ndgtoouABSroZxcwXkFyJepIb5Vt5\nzfe8\r\n=i+OG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBYkSLT3nf5S2dFYX+1KMPaBtMfIcR0YKuSxM6Df6HEuAiBMnv+jLyFBWUsMrPecBLJHIdBAF1WroWyiH+6rTgE5xw=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e589ed5_1605813761954_0.7193156849917681"},"_hasShrinkwrap":false},"0.0.0-5ed1014":{"name":"formio-sfds","version":"0.0.0-5ed1014","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"22097dd548d8e0991f39af95a8bb1a4541457732","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5ed1014","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-5nyjdiD8mpd63ZDAeU0iKeBS/O7s2QmPHHhgQxPimEw55itjzbK8ystpFWr3JvDGCXfSUhjVs4COyycw0RNvMQ==","shasum":"2eb6185036f8d3cecfd0f06ae778eedc60e7bd30","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5ed1014.tgz","fileCount":286,"unpackedSize":998572,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvCPUCRA9TVsSAnZWagAAY2IP/iqA4+mGwATKRWodEvn+\n2QYCyJzDuENauLJL06w9Awx8Z0aVYIOrPRmt9lfd6slQkWtQ9OLxlEm/NbLr\nzbz6jgg5iwb6IjfVOhmVv8LfWigHgDDhaY5c2RTgIV2bfJ4oNzdSgXs3gE64\nK2KnC/2PC4uuGJpEVoTYRPk/RVQQIwXuG094XUkt7m9I4tYmFUOcMyI6d5JY\n8/W8vSGXWyT8k7nwqt3TkXPHOhxSAXS032kzcBKJcYrGgLv87mCoEU/QQs47\nIshthsRWrFtyOw79nkEi5uapAxzQS7MsdqOuK7UV6Ny+6U7IrJYZte9H4vJH\n+ZTb4kjXm3ZYfyi8FQl/uealqlJxhb5hEq8y9ljlozbcRYz9a3DDbERpItwv\nLUh2JF0wM8ysH8KcfE+RM/9nCwq+2Dp9f0+82/i8ChXdAg5gFyDeZBAIs7kK\nTOoHGZ1sHig/b6H0OhgrrXesl1xme4rNcDBx1CEUpPt8C/pDe/vjZl80BVW7\nTABfsSbH74sstqMGYlOmk7Nks6YCwVw5xcxJEXoZ8xtOF6zY+4piw2db3qvd\nsO2Cor1GduCW6iES0kX9O/jhrsviolIH0kLGFpcyp/ss+H4S2XcWmePx7SVu\nCPkvj8vK0Y9PBePUG8iSrb+EYxEUQl3mmjAX6LHfCXVJdF5Om34MSaINLcsi\nIpKc\r\n=Dakg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC11oY7YmBVuEjCtHSEu2WeC3PWBPCAJw7swCk8cBZ3JAIhAKlsSDzfvsHZV/Xm1MPcKM+KLidzh3pOdW+wS7d/TBGr"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5ed1014_1606165459899_0.4618475610553745"},"_hasShrinkwrap":false},"0.0.0-f3c95a5":{"name":"formio-sfds","version":"0.0.0-f3c95a5","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8ab1f4c408ffcae80e9df0b361c796fdbd5807d5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f3c95a5","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Vzx7hpqbOgq+uHwB8RqMWyccy7AjyvudXOZsw/C586Tmxx3EFhnuu3rwuFFAPdglVKfOXVUWEZFAzgas9TJgXw==","shasum":"9c8884cc57ef6eb675174099a05782c3b935c5e6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f3c95a5.tgz","fileCount":286,"unpackedSize":1001879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvD0QCRA9TVsSAnZWagAAWo4P/2HhsjTor1ZIWlgAUPmZ\ntSzFFtgzRQMDFixEvg5ktjulI5GSTvVSxViHj/ixiaDBcfpkQTZ0vCTcSlS+\nVDMOIm5sozPVwul/oNdH59CpN/XYj9kUJYU5POMi+hjao/r0ty3kpJboGY7v\nwOg+JzH0csjU3sv6GbVqwKuEt7P1yRsL26Um/C8rka/R78AbzbNKtaDoPk8q\nCziLcHbd8pO2NJGIqP7DVX/XKQmppFAi9PdIlFQ0bmMcloL6lYNjZEr02JIK\nGfi6QVQlgaGGoy0CmACaD6tm/mrUFAeyLVCvu96HfrKRWEFsv0tcV1SOezuL\nhxsztUy55pMOLPOrvxISSSXW812AGUYUxUbTG8TMZHcoxFWqV1Yn5M5c6e6T\nhfJ5xcvy2kXK4ePD+D61BcTYZ7ADS4lZuxevFkMlg7oIDrcNm+nEgT+YIMRE\nLCr9u6v/zzj/t0UGkJuktF/Z8KhNg8asNrCza/9VtNOsV/f5Vlu7zsGYSvqx\nE1sEhKjRXWGRyzjA7VFVzaaVPYVU1P0NlgszqjyGXh6yB7Gg5+hmBR89EnMD\nDzL3c9qfj3qH+rwXFOnfaY/7hwNFu9t9Y9iED22vqnOCw3UE2PIn0GEygwOT\nMZ7wMIC3XYfv6ZKXrlNhrGp2itEgH+k+/f3SdA5uy+h6kbWKsDq64nhdMPdT\nrAxI\r\n=wP4r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCS+OGF/jNXvy78fE5rYYidCxCX/iYN8Jntd8+biVn9awIgS3i4eel28K20Q1gvzroZVpAFMvTZn5YWDWDS/NIuYIQ="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f3c95a5_1606171919560_0.6987489132632687"},"_hasShrinkwrap":false},"7.0.1-rc.cd20b95":{"name":"formio-sfds","version":"7.0.1-rc.cd20b95","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"5ef335143326b502d376b847fc5436c379644363","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.1-rc.cd20b95","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-7IaYbFadwss4PIY7w8PuqZX/gkmh26P7NYm5FYVzdWFb8SwkvA5/zSAmaU98vIEW7tyY1U5V00hQxvnqddYxVw==","shasum":"1e6feab23fb52c16aecf03adfb8d56ee101bbdba","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.1-rc.cd20b95.tgz","fileCount":276,"unpackedSize":994204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvZ4tCRA9TVsSAnZWagAAA1gP/R5f8ad2jUT71Uf5bbq0\nNuBMbYcfgEmqS3Ij5lqONO3FXvlwMW6Y0PMdLhovxvsT809sGHhZqH1zL8cW\neFxKaPVK7XW9wjIpGri3Ud7q3+AMNJfA7VaTndN3s2xWMx1fKGqHteYhI6HP\nkeG1qLJS+KGeRSj/o0Lm8or/L52WweiisBr1yMVdU4uF183IKK3uvKv9V6mT\n05aS9o5DnzzizS7CMBkk3k7DX6LjSGfHkYcvzxN8zNTT/nyDyI999iouY2pn\nZbyfSGv+g8CdrXMFNzFb/Q0jz9C19AVPnlmMoVCWg8HtqcvMK/k2ovHOWIFr\nzyamYauCq2SnKCokC70MbWbQR3poEOxicwTJAWw9DcnbDj7H0XFvMVhI7z4x\noOWp0wCEaasVR7XHYbJtKBp02xq6+JavQyT9c5fqPxugOpuB89ykqoCusKay\nmcNJzglZFeHL7zk9QhQbzNQPrvF3JNyLlgH7hBefHQjspQ1vmz/Xb/r4p0Z8\nTINKOmDMOzcxfCTPg3o7314eS62yBrEZf0I8Y+NMI2trHc5Vgchb2WtUnigo\nYV25MSBhgaEeNHEBlTYBHj4pxPlOu3dxdcP1tnaH6szUvbbpa+xe/ykg7xsr\nfNkt9VEJuJUA8tTeegnozMKg44tiVdwPZvr6PcT+SdRMQrtDoKbmrSGnARoH\nhC0k\r\n=W5G8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDORB3RPYifYEbFkb8ImDWF8ucBW7toBLeFqnpx3aaqigIgP7n1atyBnGRboLLKNcqFBJEiUQstT35LbCJ1o7Sufms="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.1-rc.cd20b95_1606262316993_0.8803398032611909"},"_hasShrinkwrap":false},"7.0.1":{"name":"formio-sfds","version":"7.0.1","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"f19420f145e81b7de60e88c06dab2683c5473cfe","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.1","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-MHnhkOmaRLNRwPLSNsL4VTiS71FFr7zW4la8ykTaxYe2gqKt6wmkc6Nz3gx4+EWbLKAnAKVlKsKtY1qb0nAldQ==","shasum":"d58d6bdf85c09077513503951f3408d3d16f6ba1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.1.tgz","fileCount":276,"unpackedSize":994193,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvZ/PCRA9TVsSAnZWagAA0m4P/Ah0W4edKpGJfJBMQ2JR\nwPZZpGxTBiiDrLeRv1cldKb+yz0ED/5WFvJtDNB/o5BSKSoqB7Ac6BQGPX9N\n2Fau/WcTR+2j88EBf9sp8DAhq2rvNtr2cHtWo9LMjttls0V200NtQuMhznRa\nBMo6pIuZ90GFXv9Pv2gUYMNOas37dBDTbtNR5WVm9dqdjvDx+uNjfrsU+5Rf\ndiphTx+FRoVClwdNk/LVMHw8wJDaDCFaDoMbkNzk5Vp2PETR2n3wB7WiesvB\n/CIV0JeuxvZCgHVoZfEZpZHOIAq1/g66lj4MLwALrpFp7PBgDgLRLK7e14sq\nRzdf6Sb7Fabv1nb3Fqx9xl59VWbLox7jAKVeRjI7mnNGCQgIFpsvPX2WcF8W\nemtbfbOunoGv9EOEwSpdOZaPkF8YNfxw0CynQJdI9dl6Y3gqY71IRWBZedIH\n4XErrqkFis9LxL6s+FKsM0ih8x4cmjdLqaSa99PhXbQXXhwy12g93CEXT3+8\npeyM1AC2OYEynI1xDHjAOWDfyC+fFi21RIW2PDomCDSdDSwwXC9xQjM3QqMQ\ni1KtQdFr4WSoSroMCllewGABHl5qAcliNuKtxoedqUaCTZL1OmAz5wo7VaiU\nJebqjWO8NcaiAKm+XWn6czFhjVIPb59gPpNnxsXTwKU9fxykpDqltjevp3RS\naQBd\r\n=TBch\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDn5zAyKj8REJwWruQu5RQQFrakQ4XcvzQlQRqMmdjqwgIhAN8vZZQsotb74tXYCv8s9r8xX6+5fAJNvJbvr15tIGcW"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.1_1606262734888_0.1418659984785411"},"_hasShrinkwrap":false},"0.0.0-fd4ac20":{"name":"formio-sfds","version":"0.0.0-fd4ac20","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"c64586cb55b0cc156e9c5965827232ec58cf5255","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-fd4ac20","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-kjb32PqJ7Hur6rC46oYSr1/U/O5Ez8SNnKziK6bKgagsa8iRTvpyagXxASHcG/uuDCAHAle4+6Ab0kcr9HiBlg==","shasum":"43ba1f807392b0051837b846c6ee94feb1585854","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-fd4ac20.tgz","fileCount":276,"unpackedSize":994289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfycw7CRA9TVsSAnZWagAA3FsP/1hGyqkfO+gFMEa4UKCV\njcwqPpRvMY0sc1chS1+O4AhcwAyRKVZwr9qs542m5Enhsc2UyRwBNqS/i2IQ\nd1GV83e+bLIn8mWF4xx0VovzBSNgurq5t3AW5DpZ/yh/APMLCWQrnm3TLjnm\nNndKqxLP3hR1xGl3fA+jbEDReyp6KFYeI2A3QMgIUwii3fuVzi0/kInm6mZu\nJ0gZgcoiM2IaY26OqaI6T1ONnc0LwC2da5AZGYomPA/iCIRYMgmePjCuuiEg\ndFB+yepdqBTBF+R3zjeH63eS4/AD98fPaDOVJ7tFk6stJBHusCev7f9DBqbq\nFysRLbhhRDIJ0Pe7qMS4MwpzflZZsaTbcISRkfMY5PcCl3JmuTVYVb+zXP8O\nv6b3mEWg+9CWEgRFJM8H03dyEQnfgM5wn40APZuLQmmQYVVnhU9TK6BPfBds\n4uB2yaL55jUjTqEJLGrFMt+pIgBiwXeCkubhayykw1p4wlQXVqVA9k5uar5W\nSA6dDsN9+P+/HH+kQZ+mGTxODSy1b/4amKf8FR8ko+Ci8SzMGc1p6tw3moVY\nea0HnU5LJ1hxJxBBTKUMp5Brm3xLFkmYIrJI7rkLIwccVs+CPT2eD+tJqeT8\njXPxekUSBHKTDCPKdG/9OFpdEv/pYnhLnpw4IC0MIxOOOhU20J0hxOdDuRQ/\nbJcY\r\n=Aemk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCj4Wy9ngctpI07Af7fG8y9+ZGvo8F7BGP9yocb6uZoagIgc9n6lCG1hOiz2IoUTXA+Ou6MeoHaenEgzNK39n07GV4="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-fd4ac20_1607060539098_0.6343785404220685"},"_hasShrinkwrap":false},"7.0.2-rc.cee5427":{"name":"formio-sfds","version":"7.0.2-rc.cee5427","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ed7acca46f5069816c554c30594394dc5ea6242f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.2-rc.cee5427","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-XuilbdJz37rMzYejSltfs04pJ4PtZ7ouGocQWCh6V7AeMUsbfXul9Z94uhN1oE9UXvW0BgEsneHPSDMOhXSPPA==","shasum":"85950d23a123ee82fa21415343286aa5921f2359","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.2-rc.cee5427.tgz","fileCount":276,"unpackedSize":994292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfydXyCRA9TVsSAnZWagAAKE0P+gPOokUQA1zOaPlvuhoy\np3Libm/pvVrbEz2hsVWKar6fjHEPiYPq/3J+A/tm2sQyNP1YeO8BwIJEsY5P\ngzoej+lA79Ya+zAp4bhihLaT73zlSlIvqwn23gzn7T6yxnzp7JSxQA3lUx5c\nxytl3mpoPXjoAnMu77atHR4R+v1JxQA/z0Bg8pyChfrYZui5IKKM4WpZUqX3\nnU7UvMOoE96Y0zqZqEGg0qcWwSxIyEAm2WTey4ToUUE5fAWbGvp/pwSGZgsJ\nTa+3dAYH6ftYE1MTHQo70OhOy71NP0upTzY0tO0xY2468rpq8Ksz2ewKXEoT\nG5zAMORT0nsW2G2PaSLPOBrtexaf3BEgrp0wVVDyW814dGDl9awBZA6k1O7C\nYcjhx5xK0UF9clwxrqizm4iuaOG6IXGtPpKuyMOq9A0RN467nWPKqc05TQci\n27KGWRCz5xm3w9itZCVsrpMXVlIS2awhbuHcg3B11uQM9hhJ9ca/py7evk6m\nWwnFZGdxhjfheLrzHaRce8n6lEs3lza8JrlecvXEk5qhsQPOzSejUdFgKMm/\nAMqMcXKC1QFKRgseJbr9QQSz1h2DV6DBhkggwV5rizBqydf89wlQY8BMPSVQ\nuj/vCjLBwmsciOA6wx6/fHtJ2kbiMscylrc7Hk90P57g+N0bmEP7weqaBdDo\nnLTm\r\n=NsK4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtiO00V0BsqAmWlZiwNrWJlN04eUN6ByOvLMQBVf+EUgIhAMdpvFuy2kjklScAVInHeSJFHt7M/XqDBxlo5xWrGAIQ"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.2-rc.cee5427_1607063025997_0.9946628229511414"},"_hasShrinkwrap":false},"7.0.2":{"name":"formio-sfds","version":"7.0.2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"941409f0a33d2361174299aff0a3faa038543f01","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.2","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-DDwVppkQSNp16gCi+8utDSpmoFRFT88IVY7YzkXo5wPYLDq2zcBnx4tvDb/O48F70TfOtZJ0Uudi6wuG9KukSw==","shasum":"4c290f3d2f98b1f95765876c86e2065ee30c16b7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.2.tgz","fileCount":276,"unpackedSize":994281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfynQICRA9TVsSAnZWagAAsEgP/3Fyn+CrgNwrD2Ky9S5S\njBW9MnLWLwYPhlmeTuL/ryuVwLYm70K4darKe43sybiYQBWSJBCvYBCCg+rD\nm32alGbInD1ERE1OC4rrqC0osm0JCCobUIyjbq3oVmTt3kTJvYs4OlGIMCKT\nBl5gQjRiDzxDtpkdWz+wBAxRjJte4DyQKii+YICR1oz5L4f11hEnlMXVLoD+\nlss6yLEVyzoocy9N/gHTwxOe7ftVt9ZRvoFXlwB/vEk3nlNQ9wEjOfW2GYOO\nnAAoncmXf+77OaGDzIw6Lx2uLqW/gkoVy+XRpddebYL2BP08iVCnlxaRbQug\nBDapUeXNAxFlqCGdsQi55nj1vTtbWgcMgjfV4Kb8VdgW5aXT9GFU49mctko1\npURFQxhiggoLNqLrU/CACLNZQoYD65HhXOt/7h8rt/enFSK6UUQqmqIRg8eP\nWy2cEQRotir0s/kTyK5Jfn2bTyqYctyNVUq1umbkTbUtJRZ8N3URtoCvHu2d\n2nxqqIpaiU5NJXdxc1G8d2x9KTPsZIHC2WA2czqS/8Gf2cPFe421tnQj2xBo\nPJqptnE+7Z/1y55XDCK/QfzETcoZNNBJA8nxYTKftSRvM92EuALZVmoHuk7t\n1BC7QQNTj0WqngBcbGpEH5GOMO9BNfLO0ej9AhI2NcRUUMNZhngoX4LWtJ8j\nT72W\r\n=wGVX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMrwUF4eC2PwySJUOJ056aFPCzVXKObN3QOyH/uOt6ngIhAP49sbl1P1qotsOBNC9d/xloI7YRgR0GW+PgAXKK8a5h"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.2_1607103495384_0.614893584052868"},"_hasShrinkwrap":false},"0.0.0-a84c74e":{"name":"formio-sfds","version":"0.0.0-a84c74e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"18f7d3ee49adda3fab77b8a65f63c3a8ed6984ca","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a84c74e","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-+EHcBhokb64L/R68QfgZG/TaiY9leb48abfGOFseCHNvfYouPb2SsBGGdx7fFZrVzcLuugOe7joY5GpGiU95mA==","shasum":"6792dce077b8c8132cfc63a150622e509d883670","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a84c74e.tgz","fileCount":276,"unpackedSize":995241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf1ANiCRA9TVsSAnZWagAAEdcQAJRgS/xJf3XruSuQESOo\ndyY8uuoJV3uKUTzO8i0dlCknaCO3F5CZxT0MKEGShL8Y0R6U/TjO3imJ9/0c\nbvLVTFGLD5ssQdaazo9OiFyHKoZop4MhBDO/W8kFFVKGXgPpJ7W0u6Bu+/h6\nn27tdduVFK0cs7WNZTDUlbUQhaajUiZTdRrgcEOe/5xR1zRs1X2iJ1rr8oH9\nAQ9c1o0wAIU/PaDzKJiCtCE7BJ9YYIfWiDZ6IMcukVpfasOz0FakmVkaUL9t\ne6G/eRVasNFbx91cMnr3VogLdokM9SjoocKQ6SfHMxtMXmACmQShPSMvnDaj\n14SMp+tNENNAuivtAUcfKm/7wHRKmF1k2BHcmkeNQ9ugx/o3Haht/AwluTQc\nrcofu/X5IWwzcSt2OSDGzxfUXET0BiC/TlGvXXsxGt6F2D7wLPOz+zKwVizQ\nMlEpRlIv2GaDJ+2zqcQtVZMI+yvZg5lNS9QNOmV0azdFmvMlj8JDRUatdj9B\nCbNwDgqWj9aDhnk6yBCw2LhM9HQQeI85G3HV8FV0xP1smvx09/0Rh8O8j6NJ\n+tzX7/0EbXWpgWEh3FL/fDFNkNacjD70N7EkgfAOlD9LaVo11h1o9UC/Gy3A\nCLLLP57g4l4j1+gmEx8a+uf9SrdxlatqoH+4UgxnN7VdwqVCD1cjhMyjcVeH\n8uyN\r\n=gMfU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDC5haIpduPvgNloll2ksHlxmRc4HqVv43prVECn8P4oQIhAPQNXUg9n2hM4gdoL4PyP3vVQ//5TW96y34Z2Tc+Tzkj"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a84c74e_1607730018039_0.9003735737035856"},"_hasShrinkwrap":false},"0.0.0-9b53b71":{"name":"formio-sfds","version":"0.0.0-9b53b71","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"c380ffcdb3b992f9bfa99cf73f867f72a48a26ed","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9b53b71","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-i52IxEIoDuLMkFJoc6VccULCSYxKIODKi5Retx6zrJ6Z0HYAEpbz/tRS5h1eBpIei9y7E8D5X4O/HDy2oHcE+w==","shasum":"76df195cf960d4bb8c4b5e4336a8b94c16e80f08","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9b53b71.tgz","fileCount":276,"unpackedSize":994289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf1KH1CRA9TVsSAnZWagAARpgP/2PVfACsaLpnNeYdM8V8\ntsSUC+RAkgZ1WrqIq/5bIp/vySYKPlFRIp0CJXOyQFYsaoHcwM06vbIWQAdd\nMDkSxiQ3HtJBOlZOc2lsBAizW9rvhnQiRUKQmKy7pWIS2QXbBAhxNzcriU/Z\ngpDjpIGv57wwg4gb1chfedJzu/AWmMfNF55sQnhqIT8gvW9pnzPzsaa5GMdz\ncVQydzymEY08IgT2hpqimQ03MYLnQzafxYgHIJ7HQ3bEGMqre761L1AVdewy\n8hA12x1kBTUrbzhO1nUbM0u0DfQLKeb5yFLfdNkTqZciNCmHw9F0GErE9eAq\n9HyMesk5xKuVnclqdL5O2nW4e/e+1K3SrwTRypQcguvhqWC6qjpg71GupZeV\nYbu2Lg+TN0vSEZdydsBHK8UBWwfDzI/xcHPZbLXK5T3DkwEp8fwo98ICMl4l\nNDX+ZmMK+JiyEuSpEybqFlTYSOa0mmj235hP13q416af9z/3BjE1D+fa4vB4\n9dZs36pHr3DWUI2ILZZJZ0zltJU9pJJLA/E2m/y3ALxE+wjv3bj2VDxHd70h\npjo6SyExbpq/TrBohfZWmAC2EzwPqOnNBvRNZoWB0roVBQ4qxm3R+7pRkCRa\nACS7HQo0IprfY9MUf/IoRNB3ZSFgKbcp81S9GU2rCb4yAlQVao8mPqSC0GhO\npXAW\r\n=owGM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSMLpEViNkOtFNSgvLsg5HOEmr7k+yzroUeyS+op5n7AIgBdb/tnfpl4C+pdQ03/x4P4PeldgYdtrELTmF1Uulq2k="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9b53b71_1607770613079_0.5169325521022057"},"_hasShrinkwrap":false},"0.0.0-ae8fe8b":{"name":"formio-sfds","version":"0.0.0-ae8fe8b","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"09466e2c233afdf30fa833cb48a215ced44f3594","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ae8fe8b","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-hDlactCM5fRjJRJF0PGe8a+uiUcZ4etgxQ1BBVoZPUeak5UxSSIzqRNjZ+UTZPnjtu9wKumtvqx1EpTZYNJiaQ==","shasum":"525b807f9c37ce9630c7e37f2e0d7e013b5134df","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ae8fe8b.tgz","fileCount":274,"unpackedSize":1042175,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2RMDCRA9TVsSAnZWagAAoj4P/2Bbtx89rbGj/H9p/a46\nG2115oiZB4okcnZ6c+p/yMxpF5VunF129dmYM8VrTxacXK0ScKYLhR5YZ0nX\nna0D1OcIUVud92x2XhVjMhDEpwa5U/uoR6MMk3Wg0+NyfcOauRaRa5jD6mBo\nDw3RfO7rDMFRXCrBVkeQcKFTzTNhkGZERISwRnO7R5WVPBS2zSO2d+mNmv8Z\n5SdOLUyVxY8ZiajFAVpRG9gv6VYl2UIWY+PHwRt42ds5UKGEGznq0Jr8r/+/\nv4TnR3HnH1eEYhJikjaYk3nLRAsgKIYPGuVTAqMFcQe0Fwxruf+3E5qAqfZj\nqUy1LA9RcjF33Ho6fNrJYVjI0KxhjBBL6U6mfARbMhwBjAmLW9qp343UgEWj\nEyFFXv0NIAfj19GdJmY3x6u3c0VqDicO11Se4gjgrApP6suSInoaqhqtW9jA\ncunjJlZFp65B+slpZDjjx+BvVPlvV+Jh4cy1TQ9IB5v+Iwn6/MKSCw9ca+DN\nxQ4ghiT3c5zs72g7VFRcw+Ze06fPnIoHO3RS3Qdm44wLVnNsRiMsX7SLCnvl\nMch9M1AsZX5DtSDG8Hx0l2ZcMdEplSLd4T3or3Hh4ph+SF+WTY8rsU6vJ3v8\n70azzQnglrZprRz0iraNFxoIiDNT4p0bD/RbAjdZj3borzvBWCpbmwg0DGly\n2rWV\r\n=DMZE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/dWWP+Er2PWevFVcbOkzcptcvyeAECJp/7Yu47u/4OgIhAPZF/9QehUUfk2znB0x0Y372qQsZx0ekD49rRVnvjetl"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ae8fe8b_1608061698491_0.16527924876488598"},"_hasShrinkwrap":false},"0.0.0-cd647c2":{"name":"formio-sfds","version":"0.0.0-cd647c2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"5eb006c0f55389043994c455626ffa574999c2ea","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-cd647c2","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-hWu44/zOfQY7CzybOPa1AG1N8Xs43sn2S0EGWJk+oZko4MkDZbkGFRRXZqvala0d5C2Rrhx7IGEH33lHYWYAkA==","shasum":"f3e0701d30c7960371abb96eb26959bb1468776c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-cd647c2.tgz","fileCount":274,"unpackedSize":1047987,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2UcRCRA9TVsSAnZWagAA+DQP/A1qMXgvMk+YOUI1QD6s\nLyhytUxh3WcIMfxqfB0DdZ0DIZDrcPt11Md3zLHt9j12iNoYf+Ab5z2Wi/Jf\nE5pIhVLkYp0NXciQ1ysjv4TJ6XrBPQh/QEnG1cfZptCYgUbvI3/rNgm4f405\nPeuDr9WruJ4uxXFZNWT40yZ0fZ9dwLa6dvfEP3d4yDa4/xZXZFHp5l920nkv\nCKbNSVPtngGUmwR1xqioQTSgw1DRm40+z3m82YG00O88ujmmfvfxSxBCBX8C\nXNcZhnFH/3wNJxN9M0gT2aVLNd8fB26d1RiAd8Nr30BIzLwv2SFQe3pgNE2T\ntJUgzeZnYpnqcw3svA4PbrX0mnOwXDinCo7/fCfZ5Y8ZRCQWq3LwDkNe3+HT\nC+fA0SkiI5u+NAYXTjiZhG++55WDoKLLkQRzrxyinmIj7gNRfVGujHVaP2mp\nagb+3weWVEedoCyTiSIztb20uuei2p1cd5jisrDeRVHmpZwaTz1WjiCluTtD\n0MTDsYF80NKkfYDi9CF88BPblY0CTrXG+i81nEuQTIOR9V8vrQlbogItRgO5\nml2IviLxV4/DVKrL9O/YkSlsY+jiRZgkdj5IIDAMckP0WF1RSm0h/IeJ07IM\nkQy02CnKb36vx4Adj+OWM2c518459g/Chrw7eXp4m2rC5mrpsmZro6bui4It\n1lsP\r\n=mcII\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC83vXl5jPnpQF+ofK7RzBOEGftt8mrUXbrU2obibG3QQIhALpGKBetDW60hI+FAZ2HX6EJj7U9V93VUEZ/uUqD2lk6"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-cd647c2_1608075024560_0.8372188776953835"},"_hasShrinkwrap":false},"0.0.0-84dfe05":{"name":"formio-sfds","version":"0.0.0-84dfe05","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"385e530bba0ac7ef0b42a2d5b4a562ea4968af82","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-84dfe05","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-+BCWw3rmfeJG0KVFl/Kh9rQgSyFY6KZu0rcV9abvk73wBPEIQYqHq0wCPYrajcSE3FV3j+vykpAGrs48hf0NQQ==","shasum":"58df9367c82af49e23f2e74a69179d736f88b478","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-84dfe05.tgz","fileCount":276,"unpackedSize":995469,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2lj8CRA9TVsSAnZWagAAwg8P/1NEok1hjpIY6Dmea9ga\n0WwjQbGPybq9uIdmZSFR7c2ZcnE18g9c6OB2G/bsAFREV4fk2ORD/Q9aaMEI\n14TNmSF0vprypsIJRd1+/GhaSClvuvDgNbJUvsc7fVD3Tp7aly26d+Ymv9Kl\nDeG3OiDsZnfv1zbs3n9ExYDVazIJX6SUHXudZJYjtqkYjydIfxmGLOvLAr46\nAGKNjFluF956IPuvig3R/2YXEOMtMd+FRgih3K9JlqrJD57oTdE1zl4mpJMi\nuMmcHJ3HrJM10nSHh1O5Y0Or3hdbaDTGfMsL6SbvENOCY2lTC0pfAA+7bN7F\nXkwrl4B/yEDmlXAnkQUY92tjD0RHZvXtgp+aDLuGls+qdTqCj6lpAH229T5G\nB7coVJfCF3FXfhYBUunosXupelcL371oFF0NQN/dbvdX+xdVcKz3Fmiix38S\naD51dyKKgfoQF7XrKtRc7Imj/kmm3MQW0TaRhTqgyB9qVKthq1zgMU2zeHNM\nU8m3psn33o0ugWaE+tM1RH36nRfgAX4QsCo4Df1sQoMN0cIkSwzgMMKhL+bF\nST3umDFYf8hCNBCfmQcamrUG+Fiunq7eQ7ho5YOcRA1bUKZqlDVNW1QX0jF3\n1GZLDUGiklyRr3Klp76wwoVGC/OL5Me9AnedRoM5ZEXBcTNJDw9V67TEyhQ4\nAJpR\r\n=q8Fl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB/4QV74PqaexCGUa0g7LfmHStbQ2EZr6JbP5l0SPwcWAiEA7ObPybDOEdmBPgB36v9M/BmHgljwVf4fsJyYTcSJg/A="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-84dfe05_1608145147526_0.3980128508742862"},"_hasShrinkwrap":false},"7.0.3-rc.2369aa9":{"name":"formio-sfds","version":"7.0.3-rc.2369aa9","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a0b51abd1d756bbe5e1c574ff500f688c185be8e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.3-rc.2369aa9","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-CRHI1nzglvAdjicy0+nCSEll+egMcVMB7boWe3z/wLf/mE6qoY1MPM+3L9/8fnTgI+1IB3TUCFhVWowfUpdtUw==","shasum":"a14fef8f886eafc5784924d42e7d8a629c2fde57","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.3-rc.2369aa9.tgz","fileCount":276,"unpackedSize":994292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2lpaCRA9TVsSAnZWagAAL8wP/15X9KQa/8k8nxA+Os90\n04DBmsQ16fw2IUuyKSe7zlCgAMwhXrK7HoWpRziGBqbFMPiRQtDmxRxWyE2/\nxX4WDNWdhn7gTrhIKXyF871oPYiz+yNG4Iy4F88a8kzGtxpixsA21lB6yznQ\nOZ9EVd2qrzG4Vjl9NbxgpMDY4BI6PHXmiS/+ekZrptgES6mux0sxyipAZDce\nj1aA6Q87wWOv1zZ6OO6f3MBmUAre9x1KuXJjLjj1eA5l3V3kTQ1jMxbbGvN/\nY55UDQYpIc1GSXhrqUw14Jf2Iu0JZeI7OvDMWkC8NVpVJjrwBqAEWnwbyDbb\n1xUucXrWoXKkyw32JZezLIWfLV7NfJw2AD/JotaXLeLzAgPBvxtC2LPR7Slk\nEI6/g8HYB0OcyIA0Zj87yU2S8Bkm0WyhIEPbM18DuCbkvzAZVUgt82hy4jLn\nuYAfmdVJOzwoRh17oOSn0tYLCJnXaiACPIzgIMOtRfAr6+EMowYlYM08ishV\n+Hp9TF7LU3pMa8kKcupzDcG9ZMFE2UUrOD7M746ntrbypwYWHy2QLjh+13Q2\nvpyMkcXxjt8QGtDTSc2FM0qfE7US4gWRViw6dkVrFjSSJa1NdHBcYVVX2PZO\nYsQcjS7+6uWD6GDVGAkyRKnrq0nPk9vGmcX1KIJEend6W1rfbGroWXt+HKeI\nlePr\r\n=QYMx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICBsy58lX0c/q7X64jfXfDZ9ox0fLLB4TGT89vAk4UfHAiEA7kVUulSrEfDPYQWYtITs1bL55lmlhPhsuoN/qy9Zoco="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.3-rc.2369aa9_1608145498123_0.6573923241818989"},"_hasShrinkwrap":false},"7.0.3-rc.2bf4be4":{"name":"formio-sfds","version":"7.0.3-rc.2bf4be4","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a4e091e00b5346acd13f28a2e33d950845073266","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.3-rc.2bf4be4","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-yOYYsBaa04VEMUH1OokgUvritz/xOWGfjjYeLgzPEUC3bCNbBErKmufhJZsitxUlKsJuFd0sHKkuWy9H1nfyww==","shasum":"a9fd6c02a990b8ab14c87e3191d92ef949274906","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.3-rc.2bf4be4.tgz","fileCount":276,"unpackedSize":995472,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2lrGCRA9TVsSAnZWagAA3RkP/3c5k1S03Vl2MNailmD8\nRBqaf0rOmiet5hpQI0TOTNWPpmSnCB2AbJX9S8Eqm3QLewONUoSo9OCV8ZMw\nIn4O3k3I/jEocm1LD81SgQcI2QPSLRyFcXSudMmq/mZ9BHVgEMorlfRY8g9A\nCeZ2NjYsrqZPRuSC5o/UmR+EUJ6FJRgKAVVPqeGepP09ioF98g7SIwth0bfs\ndWCI+zY8zaXBwgxdwQR3aFN+ynpJf3HwpiW28Jrfoah4pIzzCae3uxEyaRZW\nX2VffG//0bT12Srw4QmWAHT+UlND2J7nZ1IvIvGm7q7ZxISniCeAyVzNEaH8\nz64zDpNCTYktJICvwz488s/oSdqScJBHtlDjGHRiMRPUC1yqdpnEU9epOiiY\ncaKBnC39hqFdG4kZ3WSHiCv5g558qxAMruLnlYN1u1rAKNtOlDvaVc1147yD\nQBCFCRR1N8NM9/1Hd503iOIWnPoD+lAfPPZYxH+cdbfjPWgwRKWgi4DEwcZJ\ncRhATqoCX76yH8pGuOvb46F8iQHrrCHd6SyVA23x4wQJqIgKBxHqbP8xaVdR\nuPbYdk6ZJIBdjweTgDFIxkaOcWB58PbviynZcn9f5DEFrHoKRgJLAuEcYI9A\nrtVYZBZQMnqU5fylNNJCarXUVA0RH3t6v0hg+WlmOIEG+L3eEZlJjORftmWA\njKPj\r\n=FGB5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICMIakBnxdhHO7JJAC19i1q1/Z8eGVB0OZFl5pYVoBVHAiAnUGegafrlNVLpAfUQ/HQeRt0Kyo5n57FrgrOeaVwqIw=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.3-rc.2bf4be4_1608145606112_0.5203780111465541"},"_hasShrinkwrap":false},"7.0.3-rc.40c110f":{"name":"formio-sfds","version":"7.0.3-rc.40c110f","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"f85b3e351ae43d64bfbbd99d07d2515b6746d7a9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.3-rc.40c110f","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-8qqSHzWQOM1RzsoXi7G2974j8MI600goL4EywXdvBEZLrbFkEUE0sBCPkwXfKez5e+FpLkJtNNiaztsfPROWLw==","shasum":"018b65a895a0f92ae3be79b6e38433a0e987395f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.3-rc.40c110f.tgz","fileCount":276,"unpackedSize":996424,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2lroCRA9TVsSAnZWagAAYgIP/icUfKII4LlAhLmNhR4x\n5/KZqexuWegtH1JruEamihH10pVtXwm6gKQSapaZNoy9NC79T7flZvUcN5g3\nc/9C3Y6DN9yA7k4yoPvA13GLQl2jtbdRnUfQKuNujt62NybMwDOV35HvAzOV\npHftnx571qjeESnMru8qCi5EevyTuJHXwich+gJ/arVS5TsNSZD4/hS3wK3P\nkozQtgjhuQ8YKk8H5wnSIDQNGtEUqZJmIec3shsG7huaPAF+ufScf4np8yPH\n/5MnkOiklMi6o4lgS5lO2+92Z+EPn8ZT2bzDAP1FZxQWueX7HztEt1IaBhu2\nbR+2oNpdycYKzPbBwIWN0IcBPt3XCAzctciT+6kdgNoJzzanMWRHvAqRDFt/\n7dUQYcCcHNJZo21wctAbEFIiMPtQYbYYE/O8oYFNxBMJregg55zhcmsFK2BG\nlY63/gLBbeANtzkmxsJCoFzH5Llfr22Ah4vtpfkKaNfrjM2TxFqDTkwx+T7D\n0HHDLb9U8Q0Mqf3tcu+w1wLaksV+TfeAz5FNaI2mnz2VoyuzRPM1zm4IuKWB\nWUWOmI9O+5etzNuhhrrPbYKYsD6/QODnI1YWjsU+9qbZLkzxrWG31l2RS5uy\nyUuY1EiTPenYXQzXBfoBGr5EBDRzNyP60e1kvqWmtm+wR3qd64Oiu3iLQUfg\n3U7o\r\n=0rbl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCG6zfMUcGVxvoLjFEzr0m+/VdbsquGlA1ljIVSf+pY7QIhAIqtFHRksVlg/u/sKBnzgH9/pRM/d4svTgYTksMAeL/T"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.3-rc.40c110f_1608145639534_0.008173411660338248"},"_hasShrinkwrap":false},"7.0.3-rc.57b0ee7":{"name":"formio-sfds","version":"7.0.3-rc.57b0ee7","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a92eb5ef2d42942c95967d3f55a39ae6ae7766dd","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.3-rc.57b0ee7","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-iK4x5jxG0dr01i/r0jvgeH+peQk6DOK4+XwVClI7X+9wMUDC8UCQmV2byjq4rkZQaFpllGMweiN7vKTtn3b9yw==","shasum":"f0c82258ed33110ffdc3867b9f8e0b70e8ab478a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.3-rc.57b0ee7.tgz","fileCount":274,"unpackedSize":1050122,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2ls2CRA9TVsSAnZWagAAlnMP/ju/5PKVnOKW9An/uOEe\n3VFkZseO7MPlsTlKF2v+GcVDFpLYKgq584TNdhv+zR0f4sPKxY6+bGl3Aqjf\nii08sKvNRBJUXQ0Nz6IC7pe8FX67BlWxbFQEaLjqWc18oYaNkdJ4MsQVd5wT\nCOGFEL5iXm2fNFcSUjlaSoGBKZZKEHOxunmb+0dSrY/s3eORsrQp824rNS/0\nR0i91YQu/fAy4/3AauX3FfIhmgFJnhVCG8S/xGouNEyFShm7nFikNl84JbtS\nAmiBKd1sCYHz1wUIJ2vwKwSoTaGACKCz7FoZLdis3vSxt0+IvzD7esyfnL2R\nXVX8HO4ZioUuLRKooRlUJlq1xJ9pb2fGkLz/Vo0Tsi9zmMesm+XG5wz/0KSW\n7tYI/q0rJLobwxA3FTa+37jQMTGr521kWJ22B16NE7t9FOCkrUsh/W2P6Qa/\nbDRyvOXNABaLhVfTpDepfydNm8eTzXt8z9xGxOl+q4X3K1j5AZQO7yrMiLes\nMyqbG6knNeQt192PiTUkcxMm/ijNaNNz66mgx/hJekyZ7VBVfL6p5dninRf5\nknbe3rw74ruyvwg0x9Li0oBefFf7yneNiMwVvHAVxp6BCxxSWvO+/ruMwKkF\nGQyRWCHNWedOFmsUrfiLBoaqVuhG6ukfAbOPQdyEKJ0O3TxcnaFBuFxdMtuT\ntm2y\r\n=Lejj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEFjgGhB55fzW93gF+arJD/qF2Os9gEPBQX7TZNwqd5wIgLg0THhjzMCbzumIIbWkFBrdsZr8x1TgFDw5tLGPV5z8="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.3-rc.57b0ee7_1608145717873_0.7672676757325465"},"_hasShrinkwrap":false},"0.0.0-323617a":{"name":"formio-sfds","version":"0.0.0-323617a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"4d6ec8e9604c7c1e7cc169d6ff22ea1b56befcc1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-323617a","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-E9hCBV4ZKpCmayhVECoyPL6OO2fm7MJT9hcpKqSjy652oNt8cL7Mqj8W4O6IZNQJAcA8Sytq+lNbF/bTxJf/zA==","shasum":"33b4df20a120d7c624c822625d36f93f9ee2c7a9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-323617a.tgz","fileCount":275,"unpackedSize":1055239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2oxRCRA9TVsSAnZWagAA1tgP/RcsGXAqgk22gDUi13Mz\noKNJG3UYcPQ8HIohPG+D3CQDPpJJfKvaN0OqmJzer1Xp4T3JIhOSkd/JYb5N\nQmLa/ohcGdnKtFCnr/Spf3I7Z9sInwyK/Kl/GjOkt8qipzBTJSQ79cLoG/so\nGeh3GEd7U+0DO2sgAvtpGHd6Guhe3XC9FOax9Uvfhq7eq4I0bHfJH/jgrtp4\n3d0yOKAlU1lsrG4D7iIL7GeTEfyffJgk1p5LPVrqyts8MGnmefRSY8o3Z6wG\nVTx1PmsDmO87nBAOHq6dMKs0/C3p0FJYjL/H+CDdDD2q4cUWBKASDL72A8Vb\nytok21a6hBj233xt/0RLFMrcCkqx0077lP9RsnQjBLEyAokOkVv82+iQ1czL\n9dQfsSb5bX37lZpoRQZRtUHxZU2u1In67FWLH8AfnIbD+b561ODweEenN8eC\nkj+QEHUPNFr6SK53Pc5PEJVfU/mFrOc7B0Qrvcm9Y7Te+8KDa01mMSQUOb9e\nfacsUIerMX3QfsxFCgNOR8ZJdhuwt5Am66QMtqBORtTLl6ZCf/dkZyqhOhzn\nXxFl1W9EKe+FFc0YZ4x2+CA20VvWQkvv8zmsHhNcfTbHZpkNlMoxnZyFonrP\nt7N8whdgn3RPh3qyQ9qFvg3WHSikTrSKCRyERT7gaEGS7EDjfEmQKaXU7qUN\nXvv5\r\n=q2kM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBfD1YZIS3pZC48E2XS2J0W5a5Sdg9XwNkux9Raxdye0AiBTTNPJ+XxD3ZcgxGvDSAcNoh/+YUeU4l3m3QWloeJNVw=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-323617a_1608158288499_0.09342220187565631"},"_hasShrinkwrap":false},"0.0.0-b93ac7e":{"name":"formio-sfds","version":"0.0.0-b93ac7e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"afba003f0c0b20b08c6823f6c2776d6c66090320","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b93ac7e","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-6k0ySotNOI14vNj/gw4N6iHZpIhGY8Ic1hVhtaDH4FmeBAN6xaDWhEd5qnq9fCAGoEmD0RpXd8tby0N0GL2j+A==","shasum":"ac4cf9dc452b8eddcef9791eed49807ae1af0d3a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b93ac7e.tgz","fileCount":275,"unpackedSize":1055239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2oy0CRA9TVsSAnZWagAAuwwQAIk3PcwA49tR4GkiU1ia\nbccTdPak9UV9UHm9zgUusZdX71pXm9ODmdJJyQDoLUetinc/BTUYIK0N5TO7\nkENd1DVys/EcmJqYKBUqBQ6ETAVu9fo1NrFazjxp8KVAldC5t8wQj6cvEydw\nyMj1qIhUVoTeWzW11I76YAhPVW+5APMrojfk2wAWY2gUbRuTImATci9KZdDs\ndNxN3lZpCJWvIwsTOqsS6b/NejTr3GXgZY2rAGrqoMfBLCH6kZ85vZtHkoLx\n1YilbiYf5aMj/BCbQSCgRUkXY83B5OnbuFHaFARv1WiK3sFn7B7KsLmqe4zm\nnMMImRq7epmJtYo4DbThEjAUzqzEBNy+A+tFqSBUUvEcR+JfK5F0/VCw6fHj\n6EQQEVJpRxGFc1/mdwcVoDr62KJwquCM21hVO0OBlJRnR85ZAm+eIpHqBO//\nM99N3PYOyPt53b76XVGTntjkvv2KfZIg9C4bZa8SoDngHKTw5DGehTARQJLL\nVwSwEknHorPlL7sDAnFuNwgP49xz4osOOuvq6E4t4Y+o4Mb0N8v8kwoHlHLF\nMl8acAT97Ui0BQ3laSQaPdcgC08HCVvxfxdZ0JVYK2lQsAF7aBxpMqj1n0om\nqjqXtwv8uNgwveGkkROCcYjlWBzO3/DH2khCXP7Gva8pMK3ea1GKbUDtKRPm\nOqSI\r\n=9GI7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFN+n/JvCfG0n50xQJ/IC2/bIdyYUC1m1vLXzq0u8d4gAiAl5OPPLdCOfQZ2bKG5LUMTVmrZlZMAkQU4RKzNSZJwUg=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b93ac7e_1608158388231_0.973222745269777"},"_hasShrinkwrap":false},"0.0.0-89965e5":{"name":"formio-sfds","version":"0.0.0-89965e5","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"dc09164c0aa0ef2a72d5921ad845aa284ffa1e40","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-89965e5","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-I0e3B1F+xApxSn71qM2E4aSXrWVIAMK837VgjneT9Pdhbqqvm6Nlh1xEMGoZ5/3Y7V/3r2NVrP/1LgwNtgeRFg==","shasum":"37574571614fc107f77d9034812b711a47cf6dcc","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-89965e5.tgz","fileCount":275,"unpackedSize":1055591,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2o1jCRA9TVsSAnZWagAAryMP/iHwrDUa135TWW7Y83zU\nYWt9nOyvCaMGjdseD1F/BUzSqOsfmIkYfK33EL6FLmNhmx7xeg1Zc3Er9wTh\nLj4wRvHkybSFJMphIVyNsODX0XgukH/8E2bCVhCM4cNwBA3I3Z+FQYsDklvM\ngn46huwz3+/e0lILSlNzebZh1MQ/By7acU2q+A0whHRwiMk1Hy7/R77ItvcM\nbyIwHXtqMcnP7o8F4yjtQANj5VdedZamT+7OcBMetffB+kfELoVaAwi8+Mda\nUBjDD1JbUWSbtBvbI3WumeL3ai2PRnG4GVFju9XfKU8xxbHE+i0IgXsQib4R\naGS509NiJlIObog6FX0Z30pa1+9oaqhGdYWpMktGXqqxKk/8NomlD+qDgDD7\nPuIWIOas9rkqogcgcKeszh3d9suB+zXGUbdQTyeoqqrromkJ0o3CErRoBnaK\nk3Xbt6gDXTxt482QJlIsFczoTIh5ubIyKjKFedXL9/iSsILieZjQPKzQRUVu\nW8TSJesNGdmTxkBLiD1CKX4/iRyNfmm7Aqr3920Ig4wMo6zjh5ZJG+ThRkUg\n5xAJG8AggwggBqciEGbXdWrfIVsw5b1FfD1aguaFEexq7DWLFIkF76gqd+Fu\nFx9nYjKSu06c06Lv1O0Er/pR2GANvCD587yLFRFBf+TAj7Qah4lXlx5HKoCn\n64y9\r\n=wIIE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICjKXLth/u+jBHBFzETqxn05N7q2HMefC+GuZ3sEm+xUAiAOaluR4lQ1zH2QW3XNwhgJA1CWtJVcO16imDI76t++zQ=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-89965e5_1608158562472_0.28512240923591414"},"_hasShrinkwrap":false},"7.0.3-rc.031dbe9":{"name":"formio-sfds","version":"7.0.3-rc.031dbe9","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b21fc8e11ba72734183f3ec60c8d79b7c4727a89","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.3-rc.031dbe9","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-U8atEX3o/ngMsmD8KT4yvEmboMPgs94MPoXumAJva5BHFgeMUngxW34TikUkDcc0S15rd1H+TyQKVCN0XDB+iw==","shasum":"4c6b06a83e2aaa54b8fb226e2aaeada519af05f1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.3-rc.031dbe9.tgz","fileCount":275,"unpackedSize":1055594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2pRTCRA9TVsSAnZWagAAkiUP/i/naFWfPX+dt9a0Y7uI\nUcm3aLwYai+QF/xEoqUwxu0iq4snYys+BuNGMfg/556PW2Z3bLxxBQMs9FDa\nYRwS19Kf+ISVPaz6AUs9nKuuERDVzq+A2VO0I1SO+sbpFf1hwvdh+J11vWUL\nY6Qcs/oXwz9lNnW4VEtMmR7VIbytQ4uQ0v50mZzH7qpzcyQuHfdBkg2vFMeL\nFTe9F3Sva1MB/F6kw9JK3LM9cBeT/VuzDKAMgf75JgPQml7+bo5AjnSJgkf9\nHlebfqm8s+QWy1dRGXZugw1ohy0EQoh/TX+OIwh+TmZdLwS6OkOmpR7Zbv9B\nJeK9Occ+pnlrxnNokHTAcueOHSp9T/ua8KA0FGpd8QB8s0DPFgbyIURYv8eu\n7bCGZ2Chwewvi+XVnEV1J6SHmO1G98soPXctXGSXiGHWXjmhyATxJvMA/8tQ\nd8PjgF5iWzFYcWBeS655VnNALcUuBfkT2N7ZIoUx/Vt1bxBeAPyCJPPa0WSn\nvOAT2LSwkOGqdHhDlt0+sWzxR7doAt7bRC9RKD1ko+33/W3k8jqtRQApZhu0\neRW8H3soUppdzFwaSmY0y+FpGzO2Gqd0tIBEzGNEp8uuS0OzKPsTgMCzxegy\n6W+FHvn9qLhK04RbUodDUg2MXdgUctbCDCOMHkpMYTTErrrZfvn49TgJYryQ\n2MUf\r\n=IzIv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5C9OQ6NaY9k4kiUDcpgu8EnFICrLamJN48nkwq/3dhwIhANv9hpqGLYlH6Koj++u7+1x+RZHB8os7nUKBJeeVXtUL"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.3-rc.031dbe9_1608160338929_0.37190814413797346"},"_hasShrinkwrap":false},"7.0.3-rc.78be531":{"name":"formio-sfds","version":"7.0.3-rc.78be531","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d477d131d0e559b6d2d02989e2dbc57c4289ecfa","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.0.3-rc.78be531","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-62uijHwg0UAk0eGZwdt3Vru2dSSyE7YU1R5HlZx8pdVYrKyyaoGXUi9I/MYf/knhLLDUPNhfLUtLyh+BTXSG8Q==","shasum":"93cb06c8688a6714f4c9ebf3de1ee655e179ddcc","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.0.3-rc.78be531.tgz","fileCount":276,"unpackedSize":1060714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2pR7CRA9TVsSAnZWagAAFXcP/j+PlH8NI34ChFdnRrNO\ntuG3dnloHaUsaDoRFiVUm0I/rM0E+6xwRO6+RIXmMnQzSvAYXXxs/helc8UC\nxYzenM8rvvr8E+XvSR+dHnD0ricjmmqVxVcOIUq/J1JxIy1JLxLOjJ2sGbMn\nrD3c2Ee9pUq/rbzUpfO8t9ZryuqQovNjm5K5H9v+nuWhyzQEH0qxWu6HPY9a\n3PAgBkFDmFqZZG8LamW3MVVXRZSmFrW3q7upgpI78yHG9mQJu/LJzmH9vZ91\n8x/At8ON8UGe8wqPL+jrPFvD9yo0tul0RzPoLabcPFHD8lokDpCR5qXblEHU\nceK3yitnH/tCAJtCXRMMh23mfFPI8nQ7SpzYkc9i/WzV2azjq1NdIXylHdCe\nRVoKIeqCrYNkY1FnIhTV5Y2dyWyarxY89E48MPMuCRj5n/WfYCyNL+WF8ss4\nUkP9B3z440xgO892+Sc0enf01a7/AD4BahIYdSgXkOeft+KG76aQDn9w0GBa\nIN9UzOXCX/eIMSHfrCOUw+Q7iE3IIOvzH1H//SFCgq3BoMt4Z/k+fMHjWBSr\nxOIudwB+bNg9AJYGuDc8i73K6MsV2FpvJvwv6V4fktmAR3XQ9XBMXRndUwEa\nxoqaiQQp9xPK05sFf9jpPgQlFYfiV4aiO3xOL13lR0klUjM6DweOC0V8c6xj\nb+SO\r\n=e2MH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBSSrn9KmSA3dIpkUFiT3nMkga3IGrkxSbCVc76PGLJgAiBciUzzquN9Sk5KjrKogEvyHkuvJzZqXd1xzbsrO3MPvg=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.0.3-rc.78be531_1608160378970_0.8048126238987006"},"_hasShrinkwrap":false},"7.1.0-rc.0179c4a":{"name":"formio-sfds","version":"7.1.0-rc.0179c4a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"0c5a5a5b61c2bd9776f0ef7d9d7489090cb66eda","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.1.0-rc.0179c4a","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-gWHqGXfXEXNE87xK8a9/EQ2eCh9q/oE0Z1qNJMqZGe8OpPXw9ZPqaGESeFgAlN6hCwwTY2EXXk/GsaAl5OD1Ew==","shasum":"60e4ae6526d789a59f76f01ee9b93c1545238164","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.1.0-rc.0179c4a.tgz","fileCount":276,"unpackedSize":1060714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2pTGCRA9TVsSAnZWagAAXZwP/3+otMU9XD3WYrcWPr/a\nVGowJXhT+OwQU2Gsg1LOBDGQBk51Jcy/yZy9d2YYTHkyA+IsyeZN7F1P8Kvd\nv6jp/5WxWbZ1BnTgZKlQOXDKVVB8dK8Y4VicM66lQjlda4ZI8wrR0AU8Kg6I\nqGGi85BJG3hnss2e8vreDIEkvdKuvCpVn9lPEWDzAck3PWkUkq4AKGMxsYEQ\nHvkTj/GnB+szDAejRU0fj6W8/ROs97ToFAKUZ3T7EOjL0PSZTcN4g2W0KpEC\nU13rSLuwcLfBRdYODbH/vV6PbRNGcnwGwhq2I2W4oXAl3+YdEEyv7pXErhl2\n91kIadsN6MRoTPbQ7wCOaPOLdyZYGS+GmMpE1Dq3MVECTgnppOZ5nULzOVog\ncfVAa+cLUnHCRE7/vPW/uTawJyMZuH1cxo7jMI2uii3S86GHUzlYwGwJETFU\nGvzRF+KmAjGrhbGCXGGWJZLL2QxZ8Bj838yre8Q2UP/z6r3m6DlWAgFL0sYH\nezU+vsXgPYGlrMTmnhLvwbNe2fGs+SKUVOC21Z9cnpNiFzeCIMaaVGrXfiMU\n5f6qgiujVmBPccYBit2+KBJqcTzNA9RH7uvcvqzTTGd13sr3NrGEEsuABn4F\n+h8s3oFaxHdOGsOnCFu5CjqdBljz6f0GMk4w2iN1CARiw3ybX6GPNnnirh+8\nvOPI\r\n=ldhi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/DZlCPfnb6t9qivM2PMgaqnkFG3VRf0LWG6C6XoD32QIgYp03iuiQ3zQtNqusEiXB7/E0EL+OTpsl3lP4HbZjw2s="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.1.0-rc.0179c4a_1608160454370_0.6003260378623989"},"_hasShrinkwrap":false},"7.1.0-rc.72199af":{"name":"formio-sfds","version":"7.1.0-rc.72199af","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"72dfb0a43baeaaba0d5fcfd14df7cb04c12bb41d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.1.0-rc.72199af","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-DIiq1WEi5tYA8i+ADqcWy12LHyVdaSUpK8u/4UWzG/GYV2bzIgv/Xqm224S2U1mUkkxaagt7kt5Mht0sFpG7Xg==","shasum":"b41d7d07ae0ac9623760a856bebdbe51f5d1c911","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.1.0-rc.72199af.tgz","fileCount":276,"unpackedSize":1060714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2pVuCRA9TVsSAnZWagAAqBwQAIW2GoDwss9il/cFhZBf\n0MxTkOsxrE6zzFHRBYlM0/tQ9am/CoSoJvuipiaDI1SoQ8TJXQ5Jwq5RAK1K\nwu4DqUnBmtwzTyNOJJlLARoQse+hqDIs1qr0jI9P8XrQoCmCJgYl6pgaEQ0v\nYDFtD4vziUYzVrognSzl6BB7pbylR2Nu2liSm7xunThW+H+7VUm5Np5XnyYt\nY7FQZb1fApBmsczuTOJ8FVF515g920p5rZ4aGVRW4+it0ZQ3KQDQHanSyPKl\nhuhTSWpukiS06SENqgAl40qypHG+Q2DBvE2bDDq6mE4WbeAycmcN0wdgAAHV\nkd4iD23+TYKwoGpE27BCsee/u2uH7/CiLneXYpSl13VjilfGqimLPwcCe81r\nj4UzEoxziaOx6j5YsCjvnjtKTdkl1qnG9GOclISGi2F6gC9t+BsDpJbZGcWj\n3oW2HLA9p4DTFTZWuOLncg++lxKjj/qRXcaf9MLFgDPGI2uk+7BT+BUJSz63\ngQD0jTRDNPFVeHsHvFdsGQw7HDb8YRXcuPzwMv5rjf624RnxnnOsmFAkFIcy\nDDe8Mgl2tT56iLdBsXjKq0sjHc+efpz7dk4PHniNtDUOanAOmaMdqrkkvkZt\n2rQnYNlNQTnpaRxXYo8Z2frHs2RjC7QvPuWa21Gev4/2fwwdvhEWPHeV5PEg\nuIa7\r\n=Qccm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSDngjoyD6+Z0at4mFkw0+NSz3XL9THGMOh/vQSnltTgIgLDqt0TbnCHIwFWB+tsGz/qh56D5n9U2WgRsoYfY+IvM="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.1.0-rc.72199af_1608160622204_0.5280944139499124"},"_hasShrinkwrap":false},"7.1.0-rc.7a79666":{"name":"formio-sfds","version":"7.1.0-rc.7a79666","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8cfda54defaab54873ff69e00c1cc41a19dff566","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.1.0-rc.7a79666","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-xqUIEKEPnNr9AdC39luVTO7sx8oARJXTZ8hu2u5adGq5vLlpXtZj/GlmYAxDTVypladkO9ZNkE6vSW7Wk1rE4A==","shasum":"2a44ff65c1952643daf816a4a6d29105e7b82b66","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.1.0-rc.7a79666.tgz","fileCount":276,"unpackedSize":1060714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2pZKCRA9TVsSAnZWagAAwJgP/0EvdIXVmMSgq00gTwvs\nn2bVCLBpToCs6FdQtuzTt7OoHAOS6OTz1Kt3sG31dJl0UzdhiFtXdytKwVoc\no9zdD8v4GhegLDZEmsjCikb8Y+AU+QBoz7f72OC2Frklqoyn2Ki0egk/JGAd\n3X9Shfv4S/OzJ+WeCkgY18wlPdcVOLskOwtAOf8/zjvJPZdGH7mmREa2fETD\n6OIXMC1bz6Ya0MPTbGoNt3U/AcbQfzg7YwDev0WRcq0pf1XncBLsMVMrMRbf\nyDLBX8B5KDzFxnSfcXinWEtmqUMyEq3nPUyH5OY4Y7p/pwqDoWMD4dk7nlx4\nQMuO9aU+sTpQeeKiMOjGx04durN53wCXqnYsHwrByUlL1HNPRRfskhVqRZXS\nToPP4x3DqMZiLiIpA9i38378jLKaDg1yNrhsAQLMNDRK+NZIkMMJ5tVqpB3U\nfOD9C/cmaGNA4TQOcT+20DSE2tvvaGeaewRrKxgyu5rSg5MZ7K8AwHJTsEDU\nBxuDsq/itkHkRFYgVMsiuNoJHmeBlYI5ocdm+Twl9IfJN7JFyIhMUk8c0rOW\n6DXeO3Trp6LGXV+nE6tUYRRff//s6TXWCtA8VR+oBnCtedHKsEIoXOVXsdDz\nIwSD9Zqc6jRPtIi7SWiFl3XCW7CfdzU2MPSPI9/ZJeNotuwJzcPkXSoq7X4X\nGnei\r\n=BSLL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEAxOjyk8DHuSV6AdavyHPdF2H9bAzNnMRRl/V20gIZuAiEAubMZ/GkkwBSF+4objcowvABPcKksLm+DpdfJB37ziOo="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.1.0-rc.7a79666_1608160841982_0.2515921626138018"},"_hasShrinkwrap":false},"7.1.0-rc.9c12ec1":{"name":"formio-sfds","version":"7.1.0-rc.9c12ec1","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"3e16a2d4190662020e03b82e1afc6566a3265324","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.1.0-rc.9c12ec1","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-qFws2iX595i4ACCxhFCq/V8/Mm5eDs1STqDPe783szliphtwOhRhFgKYNk9SwV7tLNgEVjpPzk5csPVQvf4c7w==","shasum":"67b4f06a4fe1459f47fa6e4f935719bc85459806","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.1.0-rc.9c12ec1.tgz","fileCount":276,"unpackedSize":1060751,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2ph+CRA9TVsSAnZWagAAcr0P/RncOekIecBxK/vYhlze\nd1or7BTA1EJWkpdGZnMup+hoQLJRAfcLiXC77mEZrOD8dQDkVqXbbPP31Esx\n9kYJyfKTZ55gkBY5KxFygEHdJ/pQ0Ox7YxfZ9Anni4I+Zz+c3npR1DCLPbHX\nEuNMx2F8NuTI3U39H+AhQkDLp+GXQrlJcpvIbytwyN60pcQr8b5F9AMFcLo4\n3B3TsTpwnGc+6iW6HsiCYsS4bsOimNjEGQN6O9JS039i4F/6lk7xWpanCUNH\nU6wdiBAQDzfvo+yaYALAaUaY5VBDBdpXbmGsc/91TkSWlm8Ohf2C2o5i1IX1\nS3H0bFVQv9CiLJ55pLckoO8EiDYQiMWjdO/Kpdv8rV2YvzaXJFkBvVg6N9Dc\n9hQroJC6d6cGM/ehXUn4IqQuXe8cO6KhV8f6RRv4BWeyLkWhD8K9HCIdVysJ\nH4AyKmNu5xq5CDl0dWE0odaA+LVJdJcKcisyYIxGTv+39C+0k6hzNj3kpDzl\neub42/hEJb8toJ7NJOjeylHcQwSqUHTJ3zSNKTJ1576dQlWglNE0aCfkSE0l\nm5IrRPad2zoVTcIsitSAxv/RQLH7fZMgdHMEkjqHWoaoy6dvt+EmiCWuuzwE\nZsvWJQl2R3x/8wQGahKe3TFcT1JJHejL+3JDqaAeXUejxWFDJTyuiZEDvP5U\n1cOk\r\n=myfK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkZRsVqbZYCOAjFj7arGMJi+DAQTFwiavJoxbFODbVagIhALq/zxLls3MSVexKb6hoSmbVrIchiBx02fF6KNAuD6q4"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.1.0-rc.9c12ec1_1608161405657_0.6099413239114801"},"_hasShrinkwrap":false},"7.1.0":{"name":"formio-sfds","version":"7.1.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"b2acc4e1ea0297021975ab316a6de73ab332ba9c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.1.0","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-uM3qhvgW5p+LIfUWw/J4YglMbch1/HvaQXC29qMVm7Mzn9fwv2CAm8KYvN35FYfMWedbimEHCjZhF6n0SPaJCw==","shasum":"b12f836c5e6f695519b7c98370e749f549e3c7e2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.1.0.tgz","fileCount":276,"unpackedSize":1060740,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4QwjCRA9TVsSAnZWagAAovIQAIXDekhmUNnS912Fqawt\nUyOYajnk0InE12hxwhSyt2lsJ64pXLZdC3bI9NcgUlbctKtXkwC7T/Tro67b\nx6/mPscYXeOCX2XMJyie+1rZfb6Z8MzYk3hMfxCaUzznVO5ZaRyIEeUlE0ZL\nrjFnbwnnJfMS60L6M4kwpfMKoNQ1U3AONfzED6Iqwzf5I3u/Sg9grCgUO1vV\nyHXRmqhe2KFFESB4QCEsWMq8uuPOoXMGniYIUJi6oqdMqRX5tKas9ZGCc9Dq\ndAVkf34EHUhu4U0OWYXG6zL4klmTQ8UZZZ+XwiINAn9xBDw+MiCbBjjGBhsF\nvVTSwK2umOjwJz3fML8H9jbGLUMYOE+fdfcU1tG+8FMhf2rcJT9R4qkwzEjy\n1x9YE5gJ9jsSHjtCHD62WCGJ4mlx6WcujxEThZeq2zHKYSYgsSeNsBig3Alv\nWTmjBTuYk3fIncOQD05c16KU2XsbVENHOqU0EBSENj/Z/MY0OpCUG8kDqT/p\noYJHhuavn6PW+BvSWTFGp0n74/84xNJv02qUaAa1F8rag/JWxjy+cHjKOspG\nS0ESS6iD7MplJ8hao0WUngWVigHO4c9cvVuvO73tw1W1n65b7VbdGKfPLImZ\nmUr6a+5PYbV6OMigjphTVOLkzqUiUCFTcNZHbZ7KAuc27/po2D0D7J+Q9M7A\n2WAi\r\n=KXkX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIANKb7eeu5GINCxIvqHAB85JC+5p1Cfp6KpTSfR7YPEKAiASSi3ZFbUfRsRcHuxOfUttUwx69QjOsF/DfcpPXoUsNg=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.1.0_1608584226786_0.3853357512119733"},"_hasShrinkwrap":false},"0.0.0-65157e7":{"name":"formio-sfds","version":"0.0.0-65157e7","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d57fb900d60fd0a4b0e779a812f375968815323f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-65157e7","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-leYI2e7Ai2yJhPMKYFWa4Xr/gCdFMUc+aeiswx0Y+MM3i0/D3Ms7GBddOcitJAY+2/QwDG2Sx5RjmdPs45GJEw==","shasum":"b241b298c96d0be0445917f9d84c68371f72e556","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-65157e7.tgz","fileCount":277,"unpackedSize":1007024,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4bCBCRA9TVsSAnZWagAA0g0P/3QDK0qgbFwY35dtO+EM\n7h11XnCcRIXsNA5MXFezcxtF08aueLspZJuzxe93Tn59QjujRxR4Qlitf4DH\nKtFZSwMk4NUe4JgO1hG62XG5/kXY8jviIAcwpkgpsjYF8F2Hi0rbMUeh+Hc/\nHTfrCjL54HuoUFxqlWfC2GUZAWdOoYfNbq6ACyMoeB1HdtGewq0ybtJzPRfl\nxYmyh3PxuhzQAGD05CqGY7gNoLmGgnr9Z5Ytl5FfroeG9wJrzA+jtZKNn0b/\nqNwspQFFi8EKeRRKA9SVkHu4Gn1JTHK7C32MiFyb2+bAnhCpKJf7b/8Y3DeV\nciy7AI+hqUfwVYrxkSR3w6UeWxsv7czhajAKYM28fMRqEwf6OL74nGGpJeYV\nklKY3MPNp4zafrynJfuXwIlG4nG4C0xHC1ODUsW+2ebOxFqEu6N/fCzzqINT\ngLJCmAtvNRAyIeBp86t/Jl92giaTdLSnAbbQ072DdR/LIHV/ts0DiFjyPKB4\ncWEt34am77EN5NrluHkKPYL/iIidWGQPOHzva4kiQ9vHWA3KdI8fY27CWq0T\nDhfaRUwMFBDSXAJWTikxdwukhDqyJbsRslNfPYc58M1RA0+ZWXS4IB4LaCws\nmWjVe9LQxoTckNiQ6S9AHSSjqb0YhB072CETrbcQ6k5hjqNV85tw5HWfFao3\nGmOP\r\n=oYeT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBNPssyYU2HN5HqjU8VN8QQyHI2DTm3u8+eL5+MEaFk4AiEA7XVEplTHqFJG4lT1mpiZyc0yaotBXqwb1WYD9rBGSxI="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-65157e7_1608626305153_0.571542790517596"},"_hasShrinkwrap":false},"0.0.0-a62169f":{"name":"formio-sfds","version":"0.0.0-a62169f","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"dfa3b1ad4d1af70a6204f3f1863845967c985643","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a62169f","_nodeVersion":"10.23.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-Mv2mChihufGaxatOVW1l+BFC37C6uAHZaJFo9KK9OF0Hy7Kg1TiqVPl0sX6cLrHWKVFXfBNnmXkl4YzTU1T0VA==","shasum":"0a1e93894dc17486e8b007722258af1b87360efc","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a62169f.tgz","fileCount":277,"unpackedSize":1006915,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9/U9CRA9TVsSAnZWagAARaEP/i6aFQlFCnuGL/67wfBb\n60NXZhzb2hK3fTbAyubfU/WtY+XIWbHWsgjum65F2ILKa3CjCxAQtsBC2LgF\nGK0269YUGkoj1W8VlsFOkn4B+z4E7TOgge65H2VFu9+BupunG591+LmJtSZc\ntp3m7NUGXJzFJfvuIpZn4X5UANMdzR9DJWfijRyQUFIB3IR6IVDnWcgF2WRr\n0tJtcfM0XCiFfDR5KMqacrndsfY88wegetZjEJ29VUTdDw1n30ESZWrLULi0\nZBWzKGixZ5wlm9mjus9prb+XXUdMzE4tbieh+PESttEPyw4vxGq0xvlhjNoC\nva5SdjhpAkLEvqv7MNzuoL2vL5kA+vF3C1BuZ6JlODyo50+Wc1/9bbPC6yDh\nnlHMUYrH7jgOuiWbXgs3oPBKojKp6eSXwhzJg7sDN4MqhUjMOFtZalmS3cFQ\nHy3sniOfXKGgVvMtmHGV3ZA/yqB0T3rd0aCkQWCTtYgWpfO2zoaHhIk90obG\nRF8dZ+b7i6tS2AofGGtjwcQ1fWY3eMGjUcF9dNUpMCkkd6g8AGR4H4w2twA/\nJt5/gkNsy9MnDbw2xUSaBy7XMw88QrcTkpYLiveNl/6/xLEkBLbtOKZAU0oX\nyQisFtg9b+TlRH7ezdAIpkYNowgEPmzN8nejMGiVrzRzxXqvjfonBALk1iSQ\nVXae\r\n=UX8y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdRwvY3DbB9mQDjsTVXFllijvV9w4UcTjRpPRBQPjYWwIhAK/T+E2jQi6xpyxq/HmpTzNf8Amcp8pCKdl6hif7p6cV"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a62169f_1610085692711_0.29024949611129713"},"_hasShrinkwrap":false},"0.0.0-4347db4":{"name":"formio-sfds","version":"0.0.0-4347db4","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","dotmap":"^0.1.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"7f49aaf6c53f79394c84d805bd819105b3e04b84","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4347db4","_nodeVersion":"10.23.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-G4BII6q375gte3RG3o/+PulFm1f1blqufsduYolPjxqQMBJ0sAZaMEPW48adPP87QY06nsYBYefhevMPsNG6Zw==","shasum":"be7413cbcf5764ebaf5eace17adfd6b0093dc24e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4347db4.tgz","fileCount":277,"unpackedSize":1006979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+AqLCRA9TVsSAnZWagAAwE4P/0SWjX2nQoAUikuLpHNk\nUpUp4csovjejJiTVKl5e4LIPLOZu8tecntBftGU9FTL5ahR8olc5evlLFwAl\nWdFEFPynRHN8HIm9NtiKDMSxZS767TC6Mbga+/a5eI9ax6Ax6k4JFr588tKU\nG0R/fDnX964GfF4NJP5iJkZF4d9MwjcgHWMwqkI5pLns3yfH4K8VP2LP/wh+\nboMlbrRYnkjmOFoRsPx3MvTEaMM2fYZDkQQGuRJe5tCsJEp8lZ2lQq1Ro3Wx\n2WNCZDr4+xw1iZpdqhXSE0YjfGwkZZbMioxOkTfEWHmXV+JUDbdQp6rKFOoE\nwoYUDFWbQv7tKvSXyGCVxEt5HZA1HjcFCBF9uvkcSvY6YAerGcKvvUia7BFW\nyfOka28XOwFk9ogG13nNOUEFds14+0Fw0MAO1JfUXyEiil14l2pUSDcbvanC\nMGFvaZLO/73SgB8+B0nJRrLE7yK3kjCUmBu2ls06iWi5G6cKneOp0oO7WJat\nj2V3yYtAmzTb3wtiRm+C2t9VRlmVTKpse41Dq5Az56hlCLeGZvNSOG1h7QvW\nZcxxmQhkdYcvQyXGL98Z+5p7vC0Da7MlqP5vt+FccT2VdESittHpm3FN8j3z\nXl2X3kZ+iIJ1otgB/sK+YJgb2gY69ux7UPG1kHAxcbYCPsLG/4DUoxZe/x+x\nGoIl\r\n=Voo+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICYu014OQ9kdAUa1dhZW7Ca8N7z7WzadnlV7ZMY3d/ZrAiBl9M5KutpGEUdJZzW4pgqNAFUJmDl4iM99CXiwwxTWvA=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4347db4_1610091147382_0.2809757606201475"},"_hasShrinkwrap":false},"0.0.0-c4e2fb7":{"name":"formio-sfds","version":"0.0.0-c4e2fb7","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"91b38625ab87afff63d852a8085d3426eae2bbd0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c4e2fb7","_nodeVersion":"10.23.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-FaGBUVIl7UgEE33eLFWrs9jIFdBRBERpX76DeLuIFMX2U320Yfimuv47Y0igT2C76MZ5FsoNtF2lCZFNetvxSQ==","shasum":"bda120ae6218bd0027507cb641f1987e57637f0a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c4e2fb7.tgz","fileCount":276,"unpackedSize":1061681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgD1TmCRA9TVsSAnZWagAA45gP/jpTfyMq87r1/m4zbjfc\nHMHNh5pLZbIysMYXVCO+R25t5btsgOsk26kAKRmgwtrF4IAQLh9zuLWvLQue\n9D1VGGBk08B/UDFmnUUGKKyzvXfW68IvgApXoEJbRYriGJ7pVbQ0ULnpQY4X\nXquoYU0/+PXEMV98tarCyOPQHg7uYHEoFhOElopr9lV+S4VI4J1us7bO2Q6H\nJszvQTGkCl41Ds/M81ofkSfUlnxSZBmRT8Y0EUeE/N6AOZRv8KIKSt3UXILe\ncGw3ZQL2iJq/lbkKJAb7+6pFrOKjlpxEm+4zS19cIq4MEXfzuY3MxiMoJbaI\n41p74/DzIropY2TWYn2KCfCcyxuYntz6sIuUwpsAsH6QoL9uZWw4tNQPa/Pe\nUwzqeELG41KM0Jo1yHrlCfVFj8MnLVYsUhnxkVtRVyPYKPMCzYvkpMEkjZbE\nR2dqYmCBPMoZsppowtMDVKJ0JyXQab25H+VBlAEg3JKpALZYz3ky1OQbdBcF\n+MWb4HidoPCD4MJJRMryV6JCBH6/nvBgk9yBqK16cAyedLcLuoMiYfyp7ohk\no8OFTIyv1qeqlrv6pt1H8TUn7pb+s4OlpoqFxoePKRTmfoITrzmRMPuW/zO5\nXKzDdFQqen+W7I3tvOQHYl62d43K0Ki0XfjGw0ozUz2mRGsVleGWU0RNwWpw\nVDij\r\n=8tLH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA9R/6B8FxACpWtJXXkvVF1QDQJK1ohLjbx0VQ2zzP+yAiBVL0iyeQVWSUaC9hoDtBvBJFRft7oB/VjbyKN48QWG5g=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c4e2fb7_1611617510007_0.963450654503837"},"_hasShrinkwrap":false},"0.0.0-ec36f8c":{"name":"formio-sfds","version":"0.0.0-ec36f8c","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d9ccb2045f8be589bab2cfa0e330f68ed0034dd5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ec36f8c","_nodeVersion":"10.23.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-nNoh0tPoLCPy2xnDh0YatHtqmIoU7fSc7npKBYm8zeepwK2u+bAjgHrEw9LUmL6XnbunF4LPUEhPoqRSaLIaMQ==","shasum":"6338177e96eef44db6d71d88ae140287c050e967","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ec36f8c.tgz","fileCount":276,"unpackedSize":1062031,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEHvuCRA9TVsSAnZWagAAQOcP/1akQx+4ZOm90RyYg0mb\nByifaahpCYAsgKUKQf9d0JU4JgKyz9XzM2oIzCOlOBGcALHVUIUVqutJcYbN\nbP3+qOF4hqBv8XMmVJDBNU+u8IrlDO42gNgWc7/ykt+xq2M5361/GvRmZS/6\nRBs74F9Ol75fyI5tVoaCiEgn3pxEmI3BCVL3nYECCTMlAEboo/vTibVYaEY2\nb1s/E4oAUy/xeEOZ4Dhe75oLjy66Fh+0n6l50x1CxRaxoLsu3B9WDhtbiQ76\n706UlUxJ7aTqVv/9q2nFJ51HssZDlS1cmUsgtOd1aljIxR973uHMjDGewwat\nJ0bhY119GFNv8tB0WmN0ciS3y0+spTzJM3THRhYL1hWLXlV9bH0fzyK3R9Lp\n/A0IlF7dRV+Y+iF+xZVr/gCKUaItzZ01/59AWZaydEelxILr9KfRqv7MC6mh\n5kmMWfPnb9k8OUWCc2z/04Q0brKtrLVWfShhr0RsdUUCc2UN+CTg6SrfJYLe\nfrcfxTQNmzEdTMs9aWEC4p+77mU9MMXGQUqkDh/Zuh+azSndnkQSd5s46nXl\nIKScNenPeEAF2y63iHE3T6HWbqyPSyTRjHJ7LSJ0X0CB1qBbVzOTrhoOLb+U\nKovuyI0ltIFaJgpexKs9oITEIuFk/ptJPbxD4fuxckMosAC4W5JCTWT223Gj\n0nEp\r\n=huOo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIgdmiIgOKGK13ChRNZgj+RtLQUFoJdHvS4b3++uev1AIhAK/qXMAZ5DwA+l+IPiFZXsfWFz/NYhm1W7+s78EMiIoE"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ec36f8c_1611693037861_0.7088263721224726"},"_hasShrinkwrap":false},"0.0.0-42118a8":{"name":"formio-sfds","version":"0.0.0-42118a8","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"9c8809faaa220bee44be7d323f20b3b0bdaf23ac","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-42118a8","_nodeVersion":"10.23.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-VZ+o/DU4vDBSGQ2YR8VVs+GlMPAHpaCHMfojx4NfVFf2DXtcCX0c/2pg0PhU2SK3y6Xxvpb6Uqv0ZxOZRB2r4Q==","shasum":"ac955b66a3fb16330e973e2b5d520f4241be53c9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-42118a8.tgz","fileCount":278,"unpackedSize":1081539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEHxbCRA9TVsSAnZWagAAJP0QAI13EAHCBiR3huhN0RVN\nd94TCN0z8ElGWK6Jh/9JaIPJQhrV0fGPRJxBzchk66ikxI2fsFJum8UwZm5i\niwq2OnuCxj/nJw4isld4QIjEgwLVgSPzFSBlLZQC8k1fu8dpOjfv9fHLZdk3\nweS+KkYkfbM8NfzUvm91+c6r8w7sxvu8q9CRECcw4etezCDCa7SDd1JF+ZFw\nMx1Vg0Bl1ZA1R/Q0IDeD+VZJOKehksP42yu5Xjsch5LnJh2pKkWiWzvMJh0U\nqA8hIhj5OFyOIdfSvGc+o9yxhGrYk1syy/7snBMsMk1r1k6Lwg/8DpQbuQVj\nf91ASjArQ4Nt0jno3f+nDCLA8t9hN7beq44usy7yMgJgg05k00BAxZa7Rmlf\nhjiGLEkFInK36LDxeuPtKwu/L8RRMDuAB1A3PkDQVDimNBSi7NY0pf/lyPKJ\n3ss5vb5MMYHYJHiWl3EEc64Hung8gErK1d4lMMQDWOVcNzASPO2x4utc6+lP\n/KimY3t+JEZxEwPRod83bMjqc2xv2CLAUJcLuimFk/VxzcHciURRoBoIH8pG\nCxXasgX/3gkX2+rodCerHJhFBzNYVH9pWV0CdiWErvI/wY2byII0r3K5Q+Wa\nCSNeuKZHyIuQa09HqCnUFTtJJEuuDJxnz8Qtk52zk/qklBdujxYNsLqMt0oO\neSJS\r\n=5XO0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQXrcAyzaPodNnRcikcs5nNOEMZd98SQd1hrPVJITYjgIgDjLfDQisKNl/6Y3vN77W2+Y3LgJ6iZWsegmLhAET1B4="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-42118a8_1611693147258_0.47642936102680333"},"_hasShrinkwrap":false},"0.0.0-27f3011":{"name":"formio-sfds","version":"0.0.0-27f3011","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"41f63e6f685911c12c46521b1d179189b769cd09","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-27f3011","_nodeVersion":"10.23.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-wAdc88E3KFkYJ+IecqyEZmXZTX2NgbWC9Fx2RH8gz0Hon9+sR87fi4oN8tUQhWdQpAr9ALTd2u4Sz4NeyDJX3A==","shasum":"f76aa3fa76360bf53c9a62762b6ad1e212c0b47b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-27f3011.tgz","fileCount":277,"unpackedSize":1075299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEHyiCRA9TVsSAnZWagAAKHoP/0E2tIU3+yBRwkKPLGzr\nO4B2tHqyS/UvS4Aaf9DLKgQNWSmcn0bL9zoxC+wVOkNcIeUjIPS5dlCmyfW6\nMJt2Lw49cIB8cDF8MmW4tjhJnh+fAeQ5ehuBkEUQYTXg0GH+/W6y8FEyZ631\nyAsj8nkkQjIFQ68DOE7NG787SUqIjdsa+VfjqdXr7nKLHMyhL8c+5XPKK1jF\n4idZQw0KCxy/LXSFuQ7v3GJ4dl/nrLMCpPueK31zpIyMMDK3ysXeJ41PG5cP\n2PLclwS6kh69qhZHlzgcei7jTL07p6FFPI62kxyZPjd8i4h9q59qlBkmN5tw\nVNcJpN2A6HxthLI62WGA4iA0DDzdJqPvOFtAyItCu2dqCzHBkHy7NflHuxBu\nU+ivb9EnwasQFEgFr7gVUiPOfx41GbdQiEsIlJ/MRneeUvJBmrckpvRHDOfT\nGM7MqgTaG7AhigslsCp67rAF92h3dfhZR8RrsgKXZ2wESQ94svim/JGADUmF\n/Rdj2yrwN0W2OODjAiOpWmxw4JEO1qjEemmw3OszdEORvLt7pHbEDRp/zleF\nCYx5mLkqnubbx5hpVDtR9QwIAhdCUNYCj2b9BTLxoIFIJC8hAw5x+VGsUM9V\nRfy3MhLSItffnSl5KQbJUgomxe6hGQ72nQ8MWWX/rTrdz7k9SAejZlOheSyb\nxOzB\r\n=KfA2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCo8K+r/8r2xkgo/VU2q4ADvoXkZrx6vh50lixv8j2lcwIgJY2ozlgMMy5BzddqZvKaT+d5urFuRYVtfPDDptw5ZYw="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-27f3011_1611693217792_0.12337385978272519"},"_hasShrinkwrap":false},"0.0.0-52918d8":{"name":"formio-sfds","version":"0.0.0-52918d8","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b592fe2402c88221349f22a46761d5e3f051c746","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-52918d8","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-phMylOME6nryTlImsBkKzRswxIYsNmX/MX8QPqpr7t26QHjzQuYNB+aCiFHvbL6Kf1cbxGk1iyusiSfdNeqXQw==","shasum":"74c164a5da7da52fb94b98e974aa81ce101f1da7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-52918d8.tgz","fileCount":276,"unpackedSize":1060798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEe8PCRA9TVsSAnZWagAApHoP/jAgCalc0IBMEEC+6cbE\nDDfMuhuPBZtFCLOJVnwt2347aJePWweIg6TqHeopGp920WWdRyGhid1G3BX6\nm1eYOI9ZFSN3HDXcrxebIDPtPMNtuBLRKzJEQlQXLVNqU/chWIpCM4M5G26F\nxmuA2e91CUBatoYd4txO+x0FK/X1XttEAt6iHAZMQxZgoc0B6mtq2oiculXi\nRU67sc/O+Gt+DOCg/cDDRMDGeULToOWqvdUkhgufhE7LO2tKLmsKz+VNYZl7\nEnlh/Ds4nJLMz/O3W0rI6dm/JCUCy3zAppvyln6tbAn8XJfqIy+3CvcEZJzw\np0xWYwBUA1lV3VOysZ7l4vB1I1yjxSnJOY9sRojloBpXzTSD4lByDIeqHUyk\n6+vJabfDYRk/RbbR5MW4c43Ghi2KRXHvgWR6eohh0BgXNEhOhqYYhJpo+cnq\nsqrnrqYoguBJ+kI1AhTX7hGTjpaHjlOEu7i232XC94cbRy3wY9U9eqJdqRbW\nu6R20agJt18xAaeYk5QGUZOdkNY0EPPAyPsRdgTuaOI+KASazMVXMmfN4/S6\nXYstkepfG8agZL/i16nsLbDKEn5H4LbsNtcd4jKXBtlQcf6q+aCCNZHnd+bK\nKEOgZcQNWdpbGfh0TfXkbuHTC5StREcE5Zrsk2UzyQyoikGzUyz9reA11g+S\n8XjA\r\n=Nxee\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGIluDimLSKS9T98OQiNS4QpABrHYb0OrmV1fveeJGyFAiEAyC5WYbHGu0c/KqSkFW72YflzmP40w+1YGgeKJxLDT6M="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-52918d8_1611788046447_0.8120254615702156"},"_hasShrinkwrap":false},"8.0.0-rc.3fd7ee6":{"name":"formio-sfds","version":"8.0.0-rc.3fd7ee6","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b5ed009ccd95ce80b43d719a9690f3d88df6d546","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-rc.3fd7ee6","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-wg1jGXGCWbkzgvHhro0bg3FM9PIdupQXIFyecgeOjEOpHh5S/Fa4XqvX+1ONwaEnNNTkgFUW6C6UU4ln4LJoZA==","shasum":"fbc3dcbbd5812eebd8b4d2065c0fcdc67d99bbd4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-rc.3fd7ee6.tgz","fileCount":277,"unpackedSize":1073533,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEwg9CRA9TVsSAnZWagAA92sP/AvyYBonwvM/nMACnXG9\neD/zQyU2P81LT7ceIbeTSAZZ2fYsQSWkWfY4XVlvQdGKjpNyYfCIy1x8xxTN\nJH9UmKmZXdtzTGP+WWpO93tTHP9EbkVRqpWV/Ow+CvMdEUE6DQyOUCFB77yX\nUwmgXTf2Zqo6ODs4jfTd8PS4dLTsGJlSmFTPRUWI5z9KKKxpSam7/kTz9s27\njiYs/Np0DWkAfL06K61F5VgN7YY8RdTJA+W6paHuef4+R4II/kezDytD39P/\n4HYAhYTsBB8yhvDcVIclQ+xlIF+A6/n/FYzRV2VQd73S7YCOkVlTUnH3KNOK\nbvhQkiKOU840k4evKFevAR72Q/yjdFZh6kzsdoIh4iHkBHdHcvaHeeXNOAiR\ncpKWi/mGCVdYLlpfuUzoEn8glhH+VdP4X/O36XrVqZc+uEyxBtglOYrUVzqK\nrCTuAzAWQfTeMqfsNmgSzHAN2e/7gSpYqw+06GwOYet25CYmGF58eIug6owT\n+YXl5deNnKlYdtq16AeCvbJLiOHMInBMY7R2cOaIgZu9mHD++nvYtGk2v4af\nVsbNdRtwd3ZZuyV7Gt21QjC5/adzF2xtats48ZBjGglmc1ULdsp87tAzugXb\nFiS6RiJzkmQX2UDYh/9jz1JqCrCQdHvaxNc/DfjI+7Rk1zi13JFlH6LHCbme\naYAO\r\n=ToWn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbltNEJcXv4kgAKPdsmxEQwtJkkbhyV6+CQL8Qck7EYAIhANakPqoQ3JqZcatgOQtKOv5W4P1mm1Hl8DYpHhaYcR2C"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-rc.3fd7ee6_1611860029314_0.626630810628702"},"_hasShrinkwrap":false},"8.0.0-rc.26e20dd":{"name":"formio-sfds","version":"8.0.0-rc.26e20dd","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"cfb4fad3410a6eae720f95d23175e90c7b76e5f2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-rc.26e20dd","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-stfB2npiDrLOL8pS0plgcQdYWm19LV8HZ9ViULDtG+wYTRKRb60Otit/O4R45UdN/FnMpcLMEEe+jCM11+WtXQ==","shasum":"b257694537c1f1aa19806bbff2d8fdae9dd3c117","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-rc.26e20dd.tgz","fileCount":277,"unpackedSize":1074816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEwkhCRA9TVsSAnZWagAAincP/iZN1sU8+zDIk1ShOXUi\nIdoNEatFTWkLc7mto4ujemrcWcbB/u829k+ehVn0HLLlO15lTvXmLtyjTp5j\n4cH348Z6wONWGUamoYBPmx0D0phBuPY0N1oSJ110LBzt78WA+svdIvrjc5dQ\nUsbY4k3OLgfXjJBSDLM0JF+KBao+bRrMEFd/stKsDPLjxY81SNulrPbvoGPw\nCzIBEiLqmRTn2MkbhCnTuVC6hIp89scgyLcrxoapEiOjc0YlkP70b/3s7s1r\naQ9DNQ+XESQx4jVh7iWote51lSWJpPDYvl6ZLTfQOSBwuw2NzMPMU9YvH9nH\neYhhHoJd0SGT4A7wePfYfrCN8UozmRepqyY58yycZ1LKJKbNuTVUrRSCe8OE\n3FPrjT8ODREAyeMge/d0EyQ7qpq9AMwJKh16ZJZhMQNbl3/9zoIyT5EQNlKG\nU3f5pKSwuLb6XlIfdrT/D3TfU85G9n4umaN6fknv8948UfDlWiv5sYsgHljo\nDcbgNCHPwef0fwljgztQLqfQukzrij0Xt47eTyBYRiKcBDeHz6vEKarOutdq\nVSBY2S3b1/ADhmOJke8lOZ5kuZjyz3fiW6moi5DWm7/EjVFRXysyJcJ5edft\nxtFFDfJfuTNGrASXpcJGyYWljhVWH9mo3t2qfxav5GyE8fFh2I6YoeIfy0TK\ndRIY\r\n=olno\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGyUhZed17upfHVGJQAX6v/vB5eU7/L9jDg+Zcau/F3oAiEAwhzsQf9f3Xg7RF9UnZ8LS+ytA7YkGLOGUOLayQ/rzvA="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-rc.26e20dd_1611860257346_0.7973608654025535"},"_hasShrinkwrap":false},"8.0.0-rc.6fdac3c":{"name":"formio-sfds","version":"8.0.0-rc.6fdac3c","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"dfa5aa1ab6e0dd755cbe739619ea0a2898ef6ccd","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-rc.6fdac3c","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-4rj+TC6DEpDwLSmKa5gK6sECii/yxVLcyeIbMjCcjr2wY3a1OkyGEjGbaPJ90zF6hi6fnb4t9YUnfXSM/jJ57A==","shasum":"f539b6df7a5729438c523c0afb3bd2bb351b2764","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-rc.6fdac3c.tgz","fileCount":278,"unpackedSize":1089363,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEwlGCRA9TVsSAnZWagAAnicQAKJVPkxixALKE4qmeOfd\nd6gNGnFn6Q3Sqbxhujk/AJ5ppr6QIx3BfScPLqWkQYb6SvWs3CR5nIqYpKGr\nxSfMSJwIrFOLyeE7tW3Kc/oNr0EUeYWUSr6m/4oiB/NBSnm/DmiO5R3TuvqR\n19Z8DF7274RW35E1NbWggXlp6PLFhaBZ3VXHLrVnA2W3LEHzz9PR3Akhwhb0\nXkgzpZwSWAFU0xtJZTDmLg8ETrXBIkYMzHyC/cPOZ2hP/ACD+HtpEAlybMvJ\niLDC/nLMGojvXGk6BpmVePgVA3ifdvlrbMHoDx1soMAFHs72g5vd33hoxrZX\nTpVJXnxiVtksxEmpRdpThhm//XYwuBpm4c7TFbpleRbpnfDgN5+1yDasOz6i\n1KECxPf2XqzzCiK1rwOKND3hqBEhVKfstD0gVLINQHOa2rrqMQCTuEOf2GQ3\nqE3A9YBAefxsBuUfHhoQwNsi95lt8M0hh83wKH470s1En3TvH2NfjwF1diG1\nYICkTH5knfO8/sL4L/aBd68Wo/XnhOJO1MCxRMzogL2aYskO9jgOonCfI2PT\nNSEEB6MCakn8oaGUMroM7rVGQ2mFsOaCZrJCFjfkfhE9iyxCzrv5UUBuwME6\nqco/O6Q7+z8bGhNSvuFMxUK18Hh/S/FlYWzPzKaY9EsxQWeSjmTvn1R8i2MS\n2XMW\r\n=A5PL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICW84o/eklTFrzFj4AoDmHJYWiqQaQ+EgLb/tscljpycAiEAsrcZbrpnA437KjxnKwUJbSLkjcT8cH9B8VnQHiLywbQ="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-rc.6fdac3c_1611860293645_0.259229311344809"},"_hasShrinkwrap":false},"0.0.0-f701f26":{"name":"formio-sfds","version":"0.0.0-f701f26","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b35c37b1349c81e2a53dc7b263dbdf4c93fd7b78","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f701f26","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-2KAmCeiFQdkZmuqqErKIQU8Djmg4ik18hdyox/7y50gDtXEI7qLi9XwWKwIyS68Mk0MmkfJ5vc4d0GOSNRKeFQ==","shasum":"d3c1116e05575d49ff13ce8113367465df721ef5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f701f26.tgz","fileCount":281,"unpackedSize":1061017,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgExbHCRA9TVsSAnZWagAAy4EQAKIgq29eVC2rUe1lJqUw\nHrIjj041BkpGM//I36bDAjqvyH9kVL0tMyBuTUczjYNwU3Z4S17500CYkO07\np3FkEaqdKmI+phyQQ9NnHfrVGlZaGYFLcfAzIA/faZq0BELCGjdGpIFNEZ6o\nsmUp8E4QL0I698dpVdhckMXpHQUgJSiR3WB0bQ85oujUhGx10ZJnZTpKGa3Q\n1OoQ0hCFIAZKvChmHXnARdUK+XDE+b9UmgWL7TwEWpjVRRSyTpuYxFv0IIbC\n9Izkx3rDMZQNZwdHXmHcxuygnyersPKwBW6qa2nlHiCMVE+P+Zr+JcGB3IQS\nQFJYsOiyz602Ap4VzbLmSzVFrBuPstowosxsYehFhTwss7Xa/aIh08OXwzRJ\nVb8KWtDSmJSGmpmIgwzM68j6Bs67eGQv4S6rgnV/xoC972MJXciZBifrd6Vz\n0OcTB2uGzqxPzMAF6d8RQ6ZEelfwhuoROGgnc0AJGcfgbvgwjANRNa9dvjR4\nCAW2GrV9vvVehI/XowZ3CUBySEa7b4fj1IRDINQ/YjwPpWCcJNWCR/hhTjVr\nez1Yk8yCP13A8LM/X2qOr7ERL1ugHxgL5wDuhAlcSZNcqcKGGFma1lciW+Zd\nSvq6uvM0Reo0jjZ9XZh3zAc9ovWf0RMav7UxBB5KRZjzKb9FZ72UQa9BgsLR\n+qTa\r\n=YaE6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3z4WgU0WfttWxc71AOV9BWmDJVU1eY3QitN9zObdV2QIhAJEo6Mq/E7pXUlwUjEjx1ugaiG39x07y4uHfVGIDOCXw"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f701f26_1611863750898_0.22472589189329772"},"_hasShrinkwrap":false},"0.0.0-1425f2c":{"name":"formio-sfds","version":"0.0.0-1425f2c","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a370b0f1bd9e8be0fcb5358d59e5b1353bc2f503","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1425f2c","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-8jFLSAODZT0wkECkVD3APtPiScIbOFPkatbct0KX42zGG6v8DQlKtUu8aX32VjPVmRMO4yUNGcznXI5H8qCWrw==","shasum":"37dde90fe5b049fb58ed3b1b19b08321f1c44b60","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1425f2c.tgz","fileCount":280,"unpackedSize":1060845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgExjUCRA9TVsSAnZWagAAeoIP/3o1HbenH83Gyzcy+EfV\nTqHnT/FZsSZ8i0IvICTui1Imkdj4WKD/HcyyJ1/DETZfFWFNjOobOPUn0w5O\nmfrCYdlgyVw/VQXsE7WXg0ZK4sKriODsCRaBIhBN6Aj+7Nj6vEQd9UVhnsOY\nB9Reua2UCsjVh4bS34KyjI9CgFyULb01znH8wStrp1QeueaaV7fwvEaPgAbC\n3KXh6Bs0/OpiOQeV+Vs9o3A/8pwlu4Wvo2e0xXbnSprUlPfbsx86ewUBTdqf\nbEemtDp7ZDt/GB913L+DJHBBA+82sdwzvm1qb2RAQ00dkAInoxew14uamNdU\ninDJJ19PdV7Imi2IjXL0qozD5XplOBeraXTZJC87vlgybgj3/a1l5hbINuAR\nhW8AZhRQcBZUVtfO4s7C7RVqWdhYa823lmitxSj8bDeauO7c+67Ygwrryex1\ny6fkIIYJL8LKA1xEZcRlteWxYCSsKQSxyi6pVau0hqXNXC598K8hfbkQTbuv\nRHuUcmS6YdKunOJeLIl+I3nk4RIUdlCRbeHyFAYwRUiPvXXKbE3oRB6yW1iO\nl+Jq5pU5kwjGpapsy2PldakRmsW5rynBnGmO10J2NoNzOY0plSTO15SkF+s8\n27klB1QTZDHGXKIyB98O03sbgpSrHTSNZvJ0Pc5tzTcKC//cNNxRmEv4SInZ\npeMG\r\n=O6dS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjbTDpZIcx1A9S0I64DDp2auqJ++w6KdOAqs+K1vhoSAIhAOA1SFcS+1dhe+SLMZBnn573FXeqZBpUjqa9pCBdbO3F"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1425f2c_1611864276391_0.6168945162602946"},"_hasShrinkwrap":false},"0.0.0-0532f45":{"name":"formio-sfds","version":"0.0.0-0532f45","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"284f83e72cda49305ea49b30c8f31dc44c939e99","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0532f45","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-Ddy6U1PTvrScQcg9sERgS6dNUZIyDlWK1EndqRow2Yg2ZaoLnzkXoO5K4K9zsOZiDR8cIwNZBfnTs3P8IzvDgQ==","shasum":"05608566e6dde8ea0e7d071a046802e91867d209","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0532f45.tgz","fileCount":280,"unpackedSize":1061067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgExmXCRA9TVsSAnZWagAAhfAP/3tewp+fvn0F0LD1mZ6N\nlS1dwrVfVUHHmzAPZuFPAlKX7dc17r4R8PWQEVhJw/KQmMAZz9TshUTIzLv9\nHSMlYlEnc8fXR9fUIwXvdZ1Bzq+9fSbdxBcM978KCoyiIZU96UZHRIkXoXgf\nBJk8wvcUgpOXLMl1eSkbHJ0JAxSzs9K+0fvkpcfa8csiIgCofwMqqltou+k3\n5t5wqu0NrDoynXf8PwQTXFYDAOP02GIWP2gG3TYRHBJgd6z0j4BKBLhRnCFX\ncjhMUbM6SKhVGnocoEp4OktaD2GdwQeW2yHVE1RJgCCZic5Hk7LbMGwl/KKN\nhxsgt5YEDX5+wRgjJo92Q6FoFri6xVvop5R8Qub0mpQo6HWQYmQ8wNV+KI2R\nzDlKWbEdd731RWo1AIL4MAE0urA4Ju3+uZrZulTXszV+h9We1o5Tg2N6z+9w\nC3kE7w/1+SKg1qBY6Z5nU1v+JXlzX0A8KhKuZm9qxAymfD4LJrRRW1qc2r+G\nz0bNpjSsQ5xNcgi6l7TWuG2OqUKo7sVzYBNVa2Yzx0+R9hRXFP55fPNU66f9\nADdN8OV0+j5AJtBiFCf4fd4zoy+a9YTIrYywhuqXpGCFUwqy6ISrefc8EyQJ\nFgrQ9mnk4qzdp84Lk3E4Mgw6Kk2IXDBjdaBZ2P1jvmnL7r4hGBbrURcf6iyV\nGVPa\r\n=nTNO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1zzV8W0pKYgiwvRKyyk9MTMEGTZKsCOKw1ktEwwqujwIhALONEoQ7tL0r/hYLKvK4EoO6Bw/8yBR8NCFMgx2aTnNC"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0532f45_1611864471245_0.5345239475941643"},"_hasShrinkwrap":false},"8.0.0-rc.222c986":{"name":"formio-sfds","version":"8.0.0-rc.222c986","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"5350541d5bb30f96db748c9669334c67f3d9f563","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-rc.222c986","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-1hXuVAO6QefvVjkrckYTbaOf+6Z2pWEVJ5hEzPaO0uJKBpFs39zCz8TBejiefk1rN/q+I/m/eDaMphJA8iPcJA==","shasum":"3c5792c27219a0cdf9b9c5166cfd66a96bf32d60","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-rc.222c986.tgz","fileCount":280,"unpackedSize":1061070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgExojCRA9TVsSAnZWagAAOxcP/imC4yd0JXDlWP6Goj0N\n1/VZDAGIyRFR3L8lrKP4vzdkhKamRRPO8tYbHSEg9yZ190vbiW4hGbUtfA2T\nLvU+2ibVDHJBhiiNxK0dWMbE2+dJeRr7WVPzIsDzR09WIV1KM9yNS/KDY/2d\nxABl+uWuNexywyBZRdp/t1mDOI7vzFsbfLPwfNEJFIc1/KKbVeSf4aXeME9v\n60nx1tIcYmv/zTuFWui0H77uTh+DjNM3zRVIcyoCrY2wVVf65ft2kDlBn+iH\n1VV03eX7mVChwMD16veQrNdHNf0WZVpZzM0CcwWAY0ahhrPRyjZcxYHE5Tlc\nUymCaOL7O7Iwxo407fJFSI9g3/1VMAvJDbRQDE631XuXa27SYIaQohqJiRbh\nB675qDMMJIbGSQJFBrUhUKSoubCmqxZQAKCO3CulPr6+82JLoTsDCaMN5Fb1\nT+pCljss3NCWl3iORCYREPDEwcdw8mggOebcf+f1pjdtSIjr5yEgtpxIur9z\ntKbruI1cXiVHGRjlWDqI8kULibb51qahaoNS4BOMvYYb2/LMBWCWokrtsXG7\nlCOy6OeBdwTi+PUMYol51d6rd6XhTiq6kh80BG4ubcBYO9r6Rbq41GcvMQOF\n/Mue0wl7kM4/NhmpmssuX+ZsbdoJy49EwOe7FFQjMVzTq2KI6riYT6PpiD9g\nbJbq\r\n=TvJ6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEjbUpmN4ONJHdoUJLQYSts3f+taaY7ALsXj9STt823zAiEAxqFOGo6xk9/dD+dl+7zOJpDeyHHXYPybIoQ+81lCbTI="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-rc.222c986_1611864610420_0.5511567637941406"},"_hasShrinkwrap":false},"0.0.0-780af4b":{"name":"formio-sfds","version":"0.0.0-780af4b","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"57d72959fe30f7b329dbd3d10f31b9a2f206bbb6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-780af4b","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-8nyylcaRZM40xtENoS49Jx+h50vot5J4jV6gctBIv4dhDnu0K+eon2N7wL+k/mst+pTBw9GlXWoTHlxamjS5YQ==","shasum":"07c3fb36250f9af7c416d5edcdf78c0048653cb6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-780af4b.tgz","fileCount":280,"unpackedSize":1060560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEzhzCRA9TVsSAnZWagAAPtkQAIwNoXJNmmnQy/eDPk0v\n39BkQ5IxFAnTiR5HsWV0x3St7somOlDsCIs83HSFjDVWUe+VkWqiRkle1C2z\n8V/AHJ0GVXES2nmtiwim3sMDr7VjDPPL81lhB2CSvMNHIzNlzOTS+x592Efn\nF3RpwevlwqXE/KWVNmtRbHRWgVzBqtvsJLiFkmpObrhs4bonI7Z50er/KHgO\nbUcM3A2P2GNL/3dwWjDyD7wXTG9c5Pia2gXWmm7ouQ1Oz7W6JrmS04ZvYtdf\nTNUUmHBzTSeRcQfSIDQF9YuK39afxwCGN7M7ajK8+EUU3VdZceLaVfMP713v\nkcg1D3omYovkp/h4+ElOIK3nRDI4TSKf9jvH2naxa2e+iOHXBpWC7wfosheE\nwlyDUPQxjXTg5OoG5BKuBI/WHobHkjjarXdZiMKvNOY7q7EL79n9Y2PDnUQY\nwKSah45mzOm5mIKZka88/s8+fYNvVEXGpAZ6yOKiw4Q0O+Tak3QJh99pbjCt\nkn9HrUjVVJdN9pSRwiXs+YkodX7Ei1F60GjWaPCEpSGDuV0ByR7ISAx5tAMY\ngo6+ikS234/i7oyDcoQ5IvBbW276v1uLcFymkbWMtXn07yIb57MyUJcgyISV\nJycXngs4q2J084iz6OTO194ZvuFi913HkIyoMd2s5REFiXtm6nODdmWI8ATo\nus7i\r\n=WyKg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDpO+E4Y0C2/snbBhxnSmRXrtc8t2uRJr/w9JXdiGtX+AiAHbLHDP/0TcUEosrRmSGAUuBuEWMJfVdAev9i1Bgy2Hw=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-780af4b_1611872371109_0.8853460998244207"},"_hasShrinkwrap":false},"8.0.0-rc.36215ba":{"name":"formio-sfds","version":"8.0.0-rc.36215ba","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8b0fbdc6b2cd903aa4f1b06d02772620d5f3cd08","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-rc.36215ba","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-igROEJzQOHw6QuwM+iaNXjQ+lSwo7InBUgxaJWwlqiutf26nVZF0KNSOFMA1aYb7Mm3CRX4BFqsLVItHJQGwpw==","shasum":"e0812b3f9a05d2184ebb41936a71feb7c3e05b52","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-rc.36215ba.tgz","fileCount":280,"unpackedSize":1060563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEzm5CRA9TVsSAnZWagAA5HIP/ihyah+1DgqxqvY0sPbF\ns4TA5gxmRofkwrOVng4mBEb+533ZhOcFJMkIZX8o7fG+unePv/pEg8zgcOu0\nPlixXqXjkHVCT0xhM04f4RarNxVeNJaO/ugYhnSKQ6yXsXfWpU7hGAvt6mIw\nak/XJTQOOfjh7MDhGckgNXDdAm2PEJMbXZEmzRORpHd05P/3WgIpTwDbApJN\nEWXO4Wx1hjNTFpumtiSJTksX1ick+lRj5fbZNjIhcJuvv3nPfGzLjOmBnB63\nhrlBeeIV+BWqEdaQB8rjAWCcuDip8iFmQo0+PzipiY4VYHZCKIcwntIBCecU\nu4IR3i/tADSq2VoGupGkveAH7cFDA3cplt1aQT7SYXR6QqrGf4xXsSIC+Ow9\npn7jIHt2UWVtgnJwPJSplUTIpsvEGGpCEsr6As4WeCoCtCxtWMhuxiL1+Er1\nWZtQoC4n87xDFDXLJTvEcJA/Wij010OwJUJCmmy9GU8ejSU0Dn105mXTH8xh\nMj0fhnfCtKu0YI5MS791ltJg323Z9RJcrVKkmOxEhfxoBW++1wXCN/Hgld5C\nunbpSn/ZlzFX4MSR5bl02wunbQ5r7yp5s606fTtikGZ1V58P+HhVb+L2Q1c0\nxOsF66yqlhrOXieAROM8vcNe51Qa1qkmuOPJWx+Gze+OED4hZZCFmyxnd/gt\nyEAd\r\n=IYHF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH+EsgAvfuI8tQbKZ7tc8j7WCUjpOzW/mn1FVTl0IKiPAiEA+QiZCTZuLX0lRI2HDUI2G6Cp033MO4IUQwfXJOfCaPM="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-rc.36215ba_1611872696427_0.48769611221330966"},"_hasShrinkwrap":false},"0.0.0-a9b9c2e":{"name":"formio-sfds","version":"0.0.0-a9b9c2e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"804d7c7bc50547422228cec3b2671e99b6b3aae2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a9b9c2e","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-9f9lQe+PwChEVcsZDmEJCoCMWeH4Xh2RqjFMONE33ezhX1s0R/yJjCLamufxuDtGE0Zgr/BXj50BmJmHY8puDQ==","shasum":"8c2c513d1fc749f5f4938e80761d427f38fee1ae","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a9b9c2e.tgz","fileCount":280,"unpackedSize":1060913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFFgKCRA9TVsSAnZWagAAC0MP/i3taYXHU79GCZE4Bytn\nwqflQ7PL/DLFWdT+WPxt++uPm0pD4T8LCCdNwjz2qsH3pFqQBvS4sSruKqoZ\nOabF9c6iWx9n5Ck0r6+jxZ8gd4g8cIGS8cMWd0r7aC6xRHJvgDirSIK3YBsH\naN+Yk8zx3mv7YcgAgQUdWWdnYSalfGJ7pxiM5tFQoHFe8CuLCSOnQJKzrhzH\nWRNh7YPGRaDTeBFPrB7QQIgyrVGmz6Mc/kC1XWvHQ7RSN+V13z86conUrMC8\naon0YdjJyMiMUvIvS4x9e/G2b4991Eo5gBSawLlun1+nmLZZDokj3H2dZv+C\n1lBHOY2oPtb27Q4LRSsA3MgzRNmldReAjuAxNlyQVhfSIW4GOVgjpnCxwEip\nal/2plraqBLV6/GMBwzPOx/1hRAwF3QWSClv0jg1NhOZ1SJC6lD6UTFSAQxB\ntdczoWa8vH1MIIWvWpI5uBVRU0sYCAHl1Dz+vUVJMfkVySv3XuH0uoetjz/4\n4o723LYAoIHoRYQv8r2IGzE+4OjWz5+632ezC3nhUVecrd8LwU5RiPlsVq0A\nlYSifjs3+lF8UC5wQO8lK+BDxjonpZQT428Dg44wx+wdZiINw1VgrPfD7eOS\nwkSc0cvFlTN5XxMN2lszY5f/jtFlYMlELD38MopXneneV5SzhSiKsulE5zrI\nYtIo\r\n=JxNG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpXaotI3BBrbWjakVCYNcuSYogOM50KSXHsF+5uAR0iwIhALLSgqVJbMNfABASazD1U+7I6m6dHfhwDraIpPxm9hLL"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a9b9c2e_1611945994342_0.6427008064080824"},"_hasShrinkwrap":false},"0.0.0-0927fae":{"name":"formio-sfds","version":"0.0.0-0927fae","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d5ab881844493e34a861addbb17d517cc97568c9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0927fae","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-FPiLe1rftzN3woFWD40nubrbwjVNklxsOlYsMLLDln2vAn55MyHbvKjWKlNlpUOe6pt37PU66+dipDfXIj3oOA==","shasum":"7cd6d0c7eb708b8fbbcf3a222d0c678e9d6c2cd4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0927fae.tgz","fileCount":280,"unpackedSize":1060889,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFI/XCRA9TVsSAnZWagAAevkP/1SDw9/UtId9VBBapJhn\n/Q7BzVhBKVPJF8vm4xesrLACp2iHkj8QBnTnfQ4xlnrFfhEQTsSDLS0Jb/IL\nPBpmBr3VPjU7UhdwlX65mCyzBi3ty+DqXRoLejsHyx5L7XBqTFBPIfCP/9ep\n6uIU+S+CC0sEOaPAMFofk6q+yE4Q70k90ZLDvSVQJrNmTHoH+WiUVRxDRXfP\nZ76qcGkPQ6Rc/cyz3htGIbhF2CIJPONmKrbmWCwB9tA2B1nrLjNdrqHFn+Py\nw71pUcnvlueSOPTHQO/RbgYLvnJifhVJiZECrCGkIGd6TzsgWzP5wixx8Mhr\nAu0XVMd7xGHVLeygwv7K/gE0fFXAPwthjbgtMti+ET+PJsan3KUV4eq1PqgZ\nx6h0N5FGOLWO5UJhaQHkf/Gbb+nitmyatWC1J96SlW+yTBSZcDVp3lZWdS7i\nVdR8f7PGG8tBYQVk32vGqzGFedtvPXLJuPzrTvobVRjEwTaMqfTIXtukiwXs\nvNaZqrYG8T/anXf68jwndrEG4sA1IcC0JD7EBh2Su4Wwaq62obZX/2zl8/c6\nEKffGXqPDzEo9cLuRiuz8wLyrY+/YIsdkWogtdZFHCFbHlwH/qwoMjTvY59S\nmjv2Ae1HoDAmFMbY9w2dhpWQ8yzFXe35rYjxPODNIvqTiPuTXq/AimyuTmlp\nRAyP\r\n=RQMl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2ChO2VaSQxF4UOGo0vMdGaczwb1yTXaseMMgrWCEaRgIhAIgDrX+vCgH8XbJ05R/VAbxQppRjQwGi11kgkckAe1pK"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0927fae_1611960278576_0.5773868278028198"},"_hasShrinkwrap":false},"0.0.0-e1f7134":{"name":"formio-sfds","version":"0.0.0-e1f7134","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"12f480af2e087fda4f1f80262bb5537248c9941d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e1f7134","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-l6UXLpE1avZZBXME6bowhN/xvH1a2K2se7Ih/Uyt8fn9gKVVrX3IKE6nbPyUphdCgl2enGKgSGoQrqOW0bPq7g==","shasum":"e8acb6dca944bb06b4332755aeed39d89cbd68c0","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e1f7134.tgz","fileCount":280,"unpackedSize":1060566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFJgtCRA9TVsSAnZWagAApzUP/22QbAWPzva/3NfMs4QC\ntiRoNd4MjfE2OE4Cx0i6jgTAtdPhTnenuCn//Yg7mWD4PpW0f9T2JDZ2WOey\nT9x8K6M7Fkz3V+MhXYy9eoD9J/8NFvUt2mnHgBrueSKecBYIOO2lqtrqEKUm\nBxmyoTMvze6uqR3SMQBAUnesCBfHJDGYnw63V6cy3L1PlCZflyms4edndrQ+\ndTF8Z06q4gb2ycxg+NQdqfRDyEqlfvcGgSpXIljPWtq3Yj0o8FU73H8t3gtW\n6EcwEgN0jqlvdEuq6+U+4h1wjTlG6l8dsA4ealsPsPodQmNg+YjMgCLBeUSm\nUqG4+xCkh9VGpB9s8pepW6BYmeU4y00HLkF4AJjSbmIjPWfQdwDGMgL0fPE/\nBxCTbP3CaIAFmQHnQvhQO9XGgnelPUTFbtidVPshbrMkE3C5IwqzBRLffXsP\n56EH2eqOGMeiBh+sAWDzpOSewTRargkT+uFh4hdOEmhz9PxloUZ4XsK1z369\nI8cMsuVS3NoDJgCY8EjGwlYqVFfKxRNNFCkc4KOJw4baCJfiXYBY79qlBjBF\npCX/fcYVulrQ1zghAmA21m+Bqyj62oMrXu7SNppCU9H3qFoVJzCiiPLyTB/e\nM2hujMoyfglfQ2UWMT28cdPTqLGJNj5v35f/N3cy1vrbV/e6SHli/gFgHrrw\nOx93\r\n=WyIL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG+1sLZcKi5wASw1WC4YeNblapwh7jyFHOlaTW8ZjvzCAiEA8mgUMUN+F3nt4DXZbgwvzULOtyPFSCtvINLUzzuqgYs="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e1f7134_1611962412682_0.3342759576379424"},"_hasShrinkwrap":false},"0.0.0-9a076e0":{"name":"formio-sfds","version":"0.0.0-9a076e0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"51d6fdba052a0dded8abb6c9940833159389da17","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9a076e0","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-Aa4LjAxj4N7oHEpq/B1u0xT/d9Ho1ngyaTeM4N9NiP/HcelbdY62nxj+7Arc53MmpMFvoSjE3lF17fBEFJlm+w==","shasum":"fc8ab3ea7bcf0fe6c60aeb37f3fe3b0e781b9f99","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9a076e0.tgz","fileCount":280,"unpackedSize":1060527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFJo/CRA9TVsSAnZWagAAHY0P/2N0jCQvN/PI3LD9uA2B\nvb758H8o5BFAtgXgAtGBIIpaCB1bM57zRDiI35YFnK4NkgxAG+E4/CVymhlT\nG+0msktG4/Ga26MBSP4NGpnVEEuQNmryRvOAGPRXORv3UHe9zlC7ozgrl2AR\ncmNIPhm//NnJVdeMr40A0nO0C+1VTYcSe4qScmYhVw82N+55f4Gk7vsdlzul\ndw4k5xJZylpEFrt+t46NJOis7EE7tgMqwLNwzpkMZKNQNHXLIu++P/tk2ofG\nCeuV0fRFlus5D08M6f52ikL/zLvqJxaJ6ZSZH8JPrzgYtr5NShDJEgN1Gqsf\nMUEaHH0AXlHAC3jukJQeUoUCwv7IVQGyuRJSmsAlQAb5hJTdNFVVMSL+gqC6\nWyBjI7J9S3DJS7TtYg079SSyYEi/7fe9N3+uVuTAORNlpAjxOZeutIiWv38n\n3B26M6eEa7yLXD/GgpTXFHh27bB1MftM3vRNFp/OwbUM/37KaCgw1Nt8rP9g\nGBjY57QcgkYX/dhFoCv9YTm7LrhfNjtl1k6AXUmhaj3sxkYOQA/yFHC5fGxY\nZNrZ8X7sEM0cDQ5a+KqYa1Buxub9qO5zBsK6u8k1SAzi6OnGDjvxzIBt2IAs\ns+RQmIK9erSLRQ6jypHSDKTL7oOyReNZZZhNNCSi9UmSmHcqYfF4FfWKmill\nkJHG\r\n=fLHf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBpHdQBW3yeUqVXD3NIpq6eSG7GgU3bg+sMjr5WZBUZSAiEA9xPuTRexmpBJEmiWg9VdyRuG1CXKEYWp3nvIrzLSJik="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9a076e0_1611962942690_0.4811524250704273"},"_hasShrinkwrap":false},"0.0.0-4fe1170":{"name":"formio-sfds","version":"0.0.0-4fe1170","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"619fc044ca1827eab5402a8e266c9f8cdc417eb6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4fe1170","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-yH7FvijvXeTQmzKNvPubjDoIEvI5ETizylb9JxMiof4BByOXWRETkHQjMLa4kYsetJHZUGmPd9MbmDcBo7/L5g==","shasum":"e6f994b54e1e56456077db1b3e7424af45a25a9f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4fe1170.tgz","fileCount":277,"unpackedSize":1075345,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGF1kCRA9TVsSAnZWagAATikQAI4bJ8stvt4s/pk9O9jf\niXyCB7n/dtvjHDDCP6UAVptko30NnnvU544ayGPY+1SbRCWXlpHHMwZaXlOa\nRHTwdbjDyQPyJsmuQcj0LwoVA2JcMGZkHEotIB9qv5lAaNnoaaOpF4AFeLOj\nrwrxT/B0bwnUoejLRtKM2hqKPEGssoZMN7DrIofM1Z1996wV8c8km0lzoPi8\nV154Ppqc6UPnm34j8LIdtoMpzIMmtU3wGKyiWEhEtwEHKuVmm4DZ6ta1kLAo\nvOnbxwUIG0XpxhgTsxk42WxxOvVNtGdLx5W0e8nRL5ykV8967egl5lXfnKd4\nYEHqyj1RjHpoTVuS5HyZI/58aZSpulAcjJhEM/x+GqaJwd3CUSG5GHOppfPW\nPoh4A5dQKsm7GA/K4tUgdMmwZcQ8Lw2deC5vMYzpHQqakrseqVVStJW2BCqK\nQIcaPb/ukPu4Y0uV2b2YdMBWChXvedb+yDm2sD5dxfP50IlkLgrcS3kkW4GF\n82BuZOyRn+3fY1/UVeiUrYQLPDffD7yeNElLf1oBcbofKxdgwnHU+CvvEW1Q\nTaRePcqmrOdBBVyjPi/F8d1fQV+VyeB+OsR4jFOF84GqYW+TA5dyFWQJBBEr\ntW05Uj632rtJ2ivjuZ4Dtqc5rT2TaQU9kmWcSN6KxvGz5zjCLyUvKcGT7mGu\nCXii\r\n=4Tzf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB2WpmGbr9GRYeLgxD/QQyO3yS9v62ARGnpHW9RygQjLAiEA/J6+IBLFKc1RdwHRDOADN/M6PTtFDkEQqpFEJn1StB0="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4fe1170_1612209507448_0.9867730519769513"},"_hasShrinkwrap":false},"7.2.0-rc.dd49249":{"name":"formio-sfds","version":"7.2.0-rc.dd49249","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"7da8ab2a43cb34b566ebeacb38af6fadbf5b6c97","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.2.0-rc.dd49249","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-4ud6bfpTQFZi/Peys5dt8hhLVVCQxdHjqTrs7WJdMGRJ+F9LZg3loHKLt6cMq/K0+jV2etl3COMN85fH/Fn1xA==","shasum":"80177b87ec7f9649f2e49457c8cca579559aa73a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.2.0-rc.dd49249.tgz","fileCount":276,"unpackedSize":1060801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGF1sCRA9TVsSAnZWagAAe6MP/0nqPb9S7XeYpRJC2tpe\nZGucvhArMM92e8WfIWFvr94Jd47HoxWUN8POEMuzwufMrYzUSxrUoQCiia1L\nmcAM1yfqNly9tXQZ3WWkrGPNRDZfO/kcBEbiOV+I8BmhEwO2wueVnImTtfj9\nfyw+V6lR0BAA2eVSIY3VtR9Wb4nGZXjSBeDeBKpRgQFr8wyolEBT1ZIEwhxy\nQlTBDz4Ro2tXsdty8ONIwXqwdR31mpvu+CuMNaajOkIE1Bh5e/b4fgXxT1BS\n2tK10CnFHoJx6/57AAvRP3p3bnX6jIM+F63aF3ArbIZeufq53NwAH/R9mlV8\nCSI7iXu0RjhJOmas30MVGRDL38jR1bjipckfdhMBItsbMTEiKYyzMvd+GcRF\nh/WLaN28JaQlD8F5LTB10HUUTlvJWDiKoSHbaywEMN8DkckUtcE83gmlAo5N\nYLO9aLkmbvA/25VchpFEx0VjnsD6SgAfKVVfhVaBAt9nBIekl1/teFvRN2ty\nfgfPX6p+Gq6hM+F6JFybYNC+Pus2Xz6CHEUXBjedUhqKjTMCU9BJaulaiyk0\nTI5pLUPjLk+DNMvPIUaREsyJ6wWFYfQU+gos0A++QIUeyJ5hPxr16E/ewhMw\nOPfHNK+qNM7Wcb9hoU5m4nnChc83k1OPTomic5YopF+gGFZUqdseccj92j/q\nLsQE\r\n=Rno8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnNepTaKyJWSj+P+WV1TnEumylbX7NYkYKC4xw25nWcAIhAKa8RVox7LhEWVArKAsGfX02uLMN8vryWcPVv2xUd0rC"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.2.0-rc.dd49249_1612209516413_0.019442261384545523"},"_hasShrinkwrap":false},"0.0.0-783791c":{"name":"formio-sfds","version":"0.0.0-783791c","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"65ad94e8feeb41ca54f0a8c4a89c619ab4fc5617","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-783791c","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-RhzGzXp+XyfCpVxbPJv2N+VoqMg5vbT3J3j9PE1qryzgIhZOQ5T7fT3LIQ3S1L24IECduA8rD5RmxxCzSU/sjQ==","shasum":"584aee395f8b7ce8cef833010d00e87c9ae9ebf2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-783791c.tgz","fileCount":280,"unpackedSize":1061490,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGIg/CRA9TVsSAnZWagAAPxcP/0ymM7oC4aLpPDY/0Tyx\nIASvuZ4k1zXlyPRuUakuoWYFQG32dJICYzZ5OuKzUFYEmZDnozllsRu64rJb\nL/7jsOGhYyso/XTmwUh+vcyjDD8EFlkuVNJL5aeQIUzjA32fZHcyj4d7RKhD\nH3o2F/ZQQ6kRg0pduw4eNMsoqt93pW8XIrHiMa7ddEQHt9yWfHdjyO01frpC\nzXpcLW02NbtZNEg30jrW7m0wRYhFY5ayg/9qnapBk3oxvpW/LXVuC4TcbOeK\n9MwRmb5t1kHr5jpXMDNqf6xxLpI4aSHEfcbDMAZriuIQqTDus7r6DESbAWR3\nTQKLAwCsta2cbWEkD2pHcp0VTdBh9JH75Rsop3bFYOdithwl5f9OapvYTrvl\nL0V39nDprz97GmwPAPBu1SV2Zh0e77Lurmac3go6LoBnorV0zxdClZW9UEe+\newm7CFLbdAHSyC/XZKehANU6FT5J7KBcSYxOPbXFznqBp1xIZttAf53FRg/1\nUtojGokxf0KpkRb8397+3rY3AvUvBfU+gqZVXT/gLyXmFtMi9B4iCR3MfU1M\nSU9Sc3T+S5GBb50PbhFOBY8lW1w0VAcC7jk8YWB+e2UHcqQmXR5EY8I/hlPu\nNVIfADFDBUW41y2hlqFyAkGLtLInR8gIHKWPrAEXOXGNs/d3MFYb5f+S72eu\nfBFC\r\n=PnyS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwaFjI6S1ewn6xgHj+geput0GH5Bm8OobtfWG14ZlPtwIhAKPh6Kf5+4FKPxonKh5+7sxvZRqVWVXO3Taow18u2i1A"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-783791c_1612220478346_0.9366386585335935"},"_hasShrinkwrap":false},"0.0.0-f9c44c7":{"name":"formio-sfds","version":"0.0.0-f9c44c7","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"eb2e2924c0ef3adf9134dafe7c413fded04081d8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f9c44c7","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-h7iaNRZ/lsuXihgaQhb86vkkifYF1sU/lefBM0qs3GaDusNeGcbCk5a66J/i9mFwnlspcvspJ1yPs+ezc00mTA==","shasum":"157a6f4be3ad5bbac62afa0bde89e57e559fb72d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f9c44c7.tgz","fileCount":279,"unpackedSize":1092388,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGbqDCRA9TVsSAnZWagAA4RoP/1NZ25d1j9Cm5Do9lhua\ng01dVdWQhlzEDDPcgppJZszdHN29Pz7bZx+DFDzo3wIOv7Xa7MgnePSTrFmD\nU9ea1HPkF88OM5XZzpj6fA2Zt2HRnEl36TjqrdK7k2bIaNLt9ze8ROi53GIw\nUt6azQoGu7ExpICnz7uSq7pcEt0L+UbnrI/fdiEkY9IygC41yfvqbwTJoQuq\nJlcD4lrMBXX0rKy0KMsqA45DL5M1Ko0cNHejozlFKqs/nVwsCd69r6d4WFWf\nozhas+OcYSI2RVO6tLitzJsLl5l9wFPIlQ4chSHNPGhQQ7aNFGxvi9Y3FeII\n1fYNG8yN1NJGCTp9rGVkFI2ogewOoGqVqUgQVXigRtnOlprjiXhwklNbRDNa\nCt+4IOmFDukf1pdzmtyDTQxpRjvUjwZSCFY0TXoZu9gGM/b82MmtqjbWatUi\ndLEG4HXIGLZ2muvFAVkMyciXoVXPhTmfs42vn7dzXOfJY8UKgpaP84zCp7T8\nD7xu69RFT2KQVkRs84NPNmL27zP3CeC5AG+C9bjPVDJB4Od324pXBLg5YE5H\n/sKODPaAR6OfZYDaDsd8JGLNjiLls2XSAZ9myNU2idk5V/mr7zZnVmxAvX02\nXLRtUgWyfVr3e33AbavYC2GDXwyowJ1H8ESDo7+HvW7OWm+I/yW6tnnDXXvR\n40NH\r\n=j9Mt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBqc9d9IazPkVnZJr8EnH0uQMq6/6yvC8RtTyNBUJcV6AiEAlnmJ/Hr3PMzbc2NcSH7kLUcDT7Uvj0xPLvTS1tub5lw="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f9c44c7_1612298882519_0.8101236401694569"},"_hasShrinkwrap":false},"7.2.0-rc.6729e21":{"name":"formio-sfds","version":"7.2.0-rc.6729e21","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"4d2b30cd8563e0573196f74d53693be3031efb9a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.2.0-rc.6729e21","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-AIr3NtyujalOlU469zHLeGeobfkbTBCNQa76pCVc4UVn2sNjlkfaSa3Cw7u5YWws6zHvSE7tRMcmUYohS9Qmfg==","shasum":"ad740faa12090b338b19cae7194d48fe13041903","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.2.0-rc.6729e21.tgz","fileCount":279,"unpackedSize":1092391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGbrxCRA9TVsSAnZWagAAPtwQAKH2yFw2A+FlcIEaHXW/\nD3fJ/5i+IVlNJMeZUtztVmUViPgf5JzAw7Q4Hc3pzCkHSHYM/QEpgX+S6Gg9\n2Q4gIJmy1TwauL5CqfPipq1xBNyxI6sXFai2cjfwlvy2iLX+BshCHLgr+9G9\nYsRen9MhB3CXJeK6oCsgrby1wo4q1xIpZKN1GmbLKElCm0NivrXj8UaKn3rm\nMgHXHN9cUaJoPx00qub9BQ6CwhhIm1bYi0jVCjbTLBDBOyG3Xc9m6/UBZWxf\nQ5hEOe3+phYSJnnru1Vemdc9hfFoh67bP95/7F+Yp4a+xoOovF6igbsR3LF3\nvs8SeHpEyjuFgOx1kmeVuYiuMKjq4Nw8gloO6m5aBHT51FPF1fau2T8fJHfR\nYSoT1ar43WjCn0gg9s/CCaL1UgFDLKw0E+GTYnfssEX6fpqgdaz6CIGv9UV0\nB3CX4RhzSzqIPJHmLXI1mh1x1PcObLGQeTL+BhTNHdYe+amXbsaAWZRJHC8E\naFfiJcjEJ5aYoFwxqeF17veajI5IwuBTXIZn8fdZQ6Xvrvpfph+mgH3X7qeB\ny4bhDCWzQx4nRUerOzZRS02X2K0Q6ui3MYJYO/ky35tCa5frmVN8iDl5kBrV\nk1xlFICAhCXZNQzW4SVMkRCMdS9+xNuPy/ZGnVZt0I8KLlztvAhsCoG7dvsL\nuHZ6\r\n=fzzS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuinc9mlt/qcvSzOuRehT4XZHZ1BlGmTDNufWfP7FwkwIhAI15VWpkhOd1p/GquZiLeZ7mnpKeCZsFpZGcOR8pV/4T"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.2.0-rc.6729e21_1612298992868_0.5333920163359418"},"_hasShrinkwrap":false},"7.2.0":{"name":"formio-sfds","version":"7.2.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"e0dc789361c4c9acbcb9c9cb7c725b424ffdfe56","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@7.2.0","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-mNe4FDEHCi64YtuVy97bLzNSYvM+xgDStj89+/Si3QFWndehUHMJqDwiYB3PqN3qHZ8YsukzHjXAwYaj2V23qw==","shasum":"b63b307e2460716c4155a933914cec536d622061","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-7.2.0.tgz","fileCount":279,"unpackedSize":1092380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGd3qCRA9TVsSAnZWagAALYcQAIgHDq0mRv0Wf4+AWfzE\naQzPcccIe+J8b7V/bxRzZpbhcz12gKVE56Y68Vju124I+qOr4QI+2wmtlVUU\nqBUeq9tGOwXy84O2xuK0OjOUfW67THq5KC01z3g1eO1jLzdN3HVce4BBSQ2W\nrzEgS3kzaesVXElzS5WAiGh9TNYO7BTZuJSjoTWs1eqSNdvRONbCpPi4y2YN\neqk7ebTykW7dabpEyy94FE4hhORxN0773ZvNFp5cYRKP68mqmEq36vHWQzU5\n98m+CbNkkSb2TxlZCglB8PU9CJp2He2u+tQroqYa4ZTmq1mIZ2KayUIVKlwN\ngclDQlHbcVuzM6fwjH6Q778XGys+dCnnU0MzK2S8ID04Ltcw78Er0p+O08Gx\n32xVBYBnzeGV6rO5k5B9JNfGtNNT5QJu5IE8i9KNM67NU8WI99T2UjsK59Z5\nSsV9zsFXjglpUxtIPA9YiaT+b7qZxQV2Dre+mLvgn1pqagyOhQMgdGt+2pHV\nucGum8F29u6qPVxqAABpAWnwZNFG7uLrUxjeNoD6k84Z3uuHZ0muEpU8YQJf\n/LtpcX6eRiWvKj1rBsrglb+y2i9vPM0mG1nWbstfnD2VOJ4FjbVJy5Dw4Amj\nw58YYRgSiW0vvMEh4UroIZfvZlBBgRUMTZDuDeXMdgH6mWzEQTOtsWGF9aKj\nrLiM\r\n=ybq+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTHL5IF0rzuF8kWomTKDfKHdzfP4tsPV2389Vwy6hNfwIgERVg4oESHkhNRyhrUaUfmiUuL59IXbjdCN9hNEU7qA0="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_7.2.0_1612307945392_0.9989553609060369"},"_hasShrinkwrap":false},"0.0.0-8e03780":{"name":"formio-sfds","version":"0.0.0-8e03780","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"11280899f2d37746a0f984545a0862c6744be100","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8e03780","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-YNFCLvQWG1ebQY+SCBou0velzSiSazUOb19rS4QdOmxxb8FHcBevOby/jOX549wJoS3kLfDcyN/CmNqMkDkv3g==","shasum":"7a8ea50b4bcf08718ec96916830f2ca53f3ed8cd","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8e03780.tgz","fileCount":279,"unpackedSize":1092714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIaYiCRA9TVsSAnZWagAABq4P/j5nBlK8thuKUmJIsMXr\nK4RuM6wm7CY+5Y9KRbq0LphhA//5/r8Npmfjlg3re3HM4yQK+tO6MpI8uyF2\n6kEg203wtp/t5Jsi7aY+XQ+D8kfxu8MJT7+GvACpX7sDy4r3qnNTgOaMl0JA\nbGisDr6eGkQV3gVJ4FORpD7Cde7zpE0zuO/2VmYawkyugakqPY3a6i7pfKMJ\nX/DOik/WXCr+dT5zZO7vOZBAgTBRmIfVXdjCxU/eqnkQssFxFtzH7MjnMB1Q\nOA42+UU7jgAvJpnx6TO/vLT6kWel9V5aEcDTWxEav1F0ataNHOvlYh6X7WnS\nxxnhsJu1imD2xE0jUZBqL2lvJVXaI64r0aYV+mi5KLMWSHVErOztVzqruKUE\nYh5+0lJTtZIbHlj7HGQnJa+dDhxWRMImxr4nRB3fkcirpUiMA+EeiFfz0vN/\nZbByutro8isMCYVcLEZKvmvfYSZZ2D6QbT2M6a6/ULCPLIW7djw5NFj/KNIL\nTy/ALWbkMbPtoe7ZYHZ7jKhc5DrL0GajT5VW9ocOvI5s704vboMw7ixtHUAR\npRs70b/0T6ZRWI58eJ8NDHe9mDqEQLnfuhxdq8D+EG8z6GQSdHnO1F5CCqeu\n3ENtCyRmboo+tUEcLW5D4Ul6HIt1DI3Vtp+wzao/63gd0CVWYqRpdGBK4qi9\nJv9j\r\n=5W6Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6u8DJs9PNhTeGWwGd/Dq/NyBpEkTFNaNUm7YrO8MoiAIgSwOFir6IpNGaF22zl2Gquyi6mNvwgT39wcUDH7QmnPE="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8e03780_1612817953661_0.4697422163653573"},"_hasShrinkwrap":false},"0.0.0-a39bc86":{"name":"formio-sfds","version":"0.0.0-a39bc86","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"4.6.6","formiojs":"4.11.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"c7a9115e1c561b1e483da6c622e634b09d4901b4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a39bc86","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-eQYWn1mKhVghBPEmlRaGPI+GjUGZ3DlvOjprXPpIhmsgstHUYqYqyJGpZcAWbRlP5UnO3rqClu9Bq9o3hRb74A==","shasum":"0ac7927f735add772bba38614a9ee5341d6617b5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a39bc86.tgz","fileCount":279,"unpackedSize":1092713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIaasCRA9TVsSAnZWagAARK0P/16aTQK/M4sYUbNh0ZR9\nGae5xOi4S1rDleiIuunW7VbwwR8aX1pHNQKSvOl6ywuBY9NY8cnrI7jCgCLV\n/TPEqzY5ayJEt2iofYgUWFIkBu0zmAVmwpeSzpHp5ZRg8tAjl8cZXrTpiJO1\nzq3oQk3B9UzKOfrQrTZPpmTSgGdLs6rh4AcJg0Bbcog3HjZQOH+nso967o4z\npf5e5abevQUszZmW7K5gjVT1YjHRAZ9keN/9UVQFih1UUGnhCy00Vb+mvDkA\nrMEyhQP4b3EZJd4djNfwF1ziD0Y7ux9arDvBoEowVKij9bQ7FZO9lAaGqMni\nVwfe+3YO+yG8WjNElr05O8vCS79YLDC74tbg3U7Rm2UoAEMa/4xycgUHVwOf\nMnckWVkPXyZJGP3n959J6HCqF1DZ7KHjGjg5RTEiyAVbgYpFQZRJTGDvuih5\npW43yvXJbtLWBt025WaolOYroqqVc6Dho8krOlFTqah2WZ1ZadEpJ+8ttWlo\nABAQAGG7QrIR3h1i8QeK8+KhTHtccF97Ei1eysni2BfmosZLaFVTDc58Umi5\nl+rH1rwZ7/2wZFPsxyp3IH4/lDIUCABhqnDbsj8fPozGnJopKAC56uVT+X0E\n1oDgvA10jLkUXvEphGgnGHfFhk0OUbxNfWPNctPSb6V9PhPC/zfTqHeDqlxs\nGsnC\r\n=lAtL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOYVt997lt3PJ6CRY3ylRw/3PVTJXcVergfsbVEO/K4wIhAKgOY3H6dOhGGq60lNf0eYsyvcervMAma0M+K9HKwXIi"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a39bc86_1612818092413_0.33297788406175854"},"_hasShrinkwrap":false},"8.0.0-rc.4b629d7":{"name":"formio-sfds","version":"8.0.0-rc.4b629d7","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"82b3af04a62ce7dc84e9a0ff75beb7fbe74d9486","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-rc.4b629d7","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-7OYqBTg5N4fChq19UzevQz8Li8s2tKu7wwD8KSymlq3Dnxxfc5Hl5w3uigBwf1tzrQcq8/HNKgy+YyFMX0Jvfg==","shasum":"0dd0b83e320739754312e1c228232184b28ecfa6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-rc.4b629d7.tgz","fileCount":282,"unpackedSize":1078102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJCEqCRA9TVsSAnZWagAAx4gP/0zAvACmOBLwKwR8e7V4\nHJWTIN/eiGbWdDuZvrYXuxN5j3ZlkzA+0ORHkLSkloanK02y9PSm078GsgMT\nhbtTkxAs4gT2liLYO9D+EbV2Sx7/pWnoahb8gO9Wz/zfR/YrkeQZuY8iq7Wt\njsAyVxMdgfRHzyz1B5WhwyvXZygOcgN2Rb1P5UmMKftaEWPoX8EtMW1+0+vL\nIVVCrng3TfTCHMf2dlg/CC0B/X2blm3pvGR6DiAVhYQ/VCpYm3YPjJz4qpQr\nttGNXEtNTLqLTossK5MEc25Eg01VsGmOZq9p0CYTHacbQlRhvBu2ro/xXCZy\nlzv8E4cRDCEgvLNf3w6n9tM4GxzkPMLTVRtW3jMltqzX70Oo0Kis6DgZYvON\n4n8hVp2rBSLCXZEQQnnBJB/RJa5SgVMzZiol158A6vf9exNq7m0wF4wf3uxr\nmoXtfwafjqq3jJUNbas7vHB9O7cvvEIpo7HQ2HtMaeCOLGbFyYK+4lwnPuOK\nEInoo5t4KYQmSNbxYD3nZgYAWeblgZm3j0fa9fIpAPSZ+SwCWy1pYZnAyuqX\nj3PPpSNDDsReSMOQf8I9nP6JCUx0TUriXee3eL8Tgq1Jn4C1Jsb86MmZdLHG\nR1Gg+p6xIoXMgVdZ7d7T6rIgSMAjrcyDbJ+7y35j1y2fWZdZrWOQJP2btO42\nk9b4\r\n=9XN7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUc+tycwgiCfgBRVTaXuSSI1f5fDs279AJWxVezjED9wIhANp6zKffcJ8pU+8F0QU2Bnd/6/wdG192MWcmz5MDR0Xe"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-rc.4b629d7_1612980521842_0.695017345834827"},"_hasShrinkwrap":false},"8.0.0-nav-update-rc.abe4957":{"name":"formio-sfds","version":"8.0.0-nav-update-rc.abe4957","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"2b36940f7df9cfd3e046182e3508d90cc89820e8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-nav-update-rc.abe4957","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-F/+Z9W5OYil+PnqNG4dMfY84vdaMvL/Bwa4TQBATpPCVQfp5sb999yvY5ayPYwrbpR1VhhgYHeqCDfzrnXp9zg==","shasum":"c14a336efbae79f47728007d6faf69881d150b22","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-nav-update-rc.abe4957.tgz","fileCount":282,"unpackedSize":1078113,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJYF5CRA9TVsSAnZWagAANZoP/3LIoRQF+NSJwwFQ2RRt\noLlf/WqyQepiWrqmOSxqYZZBmyxbq01Pbw7z+P6BBTPojsRz4PF0f36iXe/U\nH9DuxeHV/jWIhmcp/DdYwoCS4BXcVbC3S8xd7JGjO2WneGNk2KEPkNAsNj52\nVKN5GHO32vgRxjhmYtnKZRX2KWcCYHPam/l6iiSdhUHaT1Ute4Go/qxiC5MS\n4zqjMR5Tdj8YH25/70IHWgN8lGu/xuFcV2uHEaC2q7fpv5CR0Km54Ed00bld\nltlS86WUAUDkv+7iZR33xVFS4b3feD6VXDZxtV7Sleml1NB3cM2x4RkjBFfA\nilXMxvgcW/8WWzcJb7le5FCRTwIBc0CRo101OCkFiAlaUCUar6p+sggqsI3Q\nVxzUrPNbKoSvPnWNNjxEe4d6YjFCw1y5MAxe8JbfXWQohcNrxhIeBCtm8lR4\nHnKjH9ChcPhPk5rzMXiU6/y7JVRaGxffU6RPDQYklN0OOGxIajafsxvWgU1o\nfHhfY20XMF9dmOABLpDV75rTh6YOGRjSvv8A3ZqVuZKtjAYs+cPPNtBTAS1E\nQfwR4Te6mDLTJdeIwN8Xl/HWDD0gMygwu94qw20eRJDzwdpuzqjpH+aJP/c9\n93Ryl+y1qnSPhlxGHXuKQy00GXYxoz39DYYWIM2VaclTn6m8DPBkCfkl/Gw6\nTFWe\r\n=7QgQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAoqvMVSBsokKUzNBz7nshbZA9doRDgIM1ywhyTIfkW/AiAB8rEBMjg+8L+jAvAcPEx9V+9qfYo4r7R7im7IBULnaQ=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-nav-update-rc.abe4957_1613070712956_0.1642472506995718"},"_hasShrinkwrap":false},"8.0.0-rc.d912cca":{"name":"formio-sfds","version":"8.0.0-rc.d912cca","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8f4fb41660101b40547fbac9840f02bda98ae210","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-rc.d912cca","_nodeVersion":"10.23.2","_npmVersion":"6.14.10","dist":{"integrity":"sha512-QmiOIKZdOkN7CZl5/3DrQYygN2pNDQNqzp2WI5djo/WUWCSqUVbWM/Z2gKZkB+VrkXezTilDnIrpLCLXaQYnUQ==","shasum":"542e91256a82a18f41af500acccced37b3f7f0ce","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-rc.d912cca.tgz","fileCount":282,"unpackedSize":1078102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJZByCRA9TVsSAnZWagAAQ7MP/2k5izvoToWgXvXoeJ3p\n/29kIA1P4elZw8X3RDhNBAd79byrBD9OFHGCsbLOZUVhrnPBXkaKy4YlZy7O\nXsT3LHEcRjO4Cmk/ITAVZooQfewcDTTcVrF3gXPvDAJFGlOn+C2uHggATDbt\nSUubHuRilIYe0LAGhITbEjeJftLxChOmyanXpOjGJa3BKdVzkfe7nCZHz2+f\nLX4EXBpPkUCPzyWhAcaPkdKCdWBTV/EYY7d/JK8uaC+LGcZ6g2PtwbxITXkZ\n7lHFw41/MoY3Y61ON9p0Fvdy4aT4vEuEtkKtPetdIxO3XGpdUpuz20YmK5m4\nsGJgKH2b1PG37dyMD4GxgK8kgKOyrJlwrWyZf5F9b0/LlHAZ4m4B2fYeodf0\nsK8KgSI5rDxlsqhoxVkZcp+1CaIlQ613MxSbUT2z0clMF/xdiuJyoVvOHI+r\nAGIuXkX5pdxYtQBBXQShM40pxQBb13JRDznJlFSC4b5elhenBMzBVwxtkuLd\ndww3Z3vur/c2HEPiCCx0YPL3Fkngc4TdSda+c88/LbY0K6i7w+HIcDUEHMof\nXVLWp23aaMqauNE+4zqTc/o1Ohg8wU0Nk05QAuF0c0ic/QchGZTdEga3a4/V\nbHiSJBvz0cu2CyFDVZV9lxJofO4Qg2s7g5cKu0EODw2hs7ivIMwFA3pcvMFa\nUR/+\r\n=zyP9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpfHrvv3T3bXIJe6vFgTTOJB5kHY3GNU43HJHMbo2PzwIhAKnXp73BxacqghbFTUsjUIbbRovYxEr/7I/fZBFO/9SS"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-rc.d912cca_1613074546061_0.6696842636492379"},"_hasShrinkwrap":false},"8.0.0-nav-update-rc.5e9c7eb":{"name":"formio-sfds","version":"8.0.0-nav-update-rc.5e9c7eb","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"5eae907e1165c0dec2cdace26b62264c3dfe7856","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-nav-update-rc.5e9c7eb","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-mztZEX+70dpntevwZGoKmh7zQH3LpKezL5cbAQF87tpts0NVOT9Y4RJ1/fKCefyjDftGPa3EUIGiqQAVnzscbw==","shasum":"41f5f794383e1cff37f85656275ac33059c1ae90","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-nav-update-rc.5e9c7eb.tgz","fileCount":282,"unpackedSize":1078126,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSU13CRA9TVsSAnZWagAA3TUQAIxO19TIR5ij0No7c0Yj\nWtbJxA4CqlZslHcxC4lsqLmSLqf886SkV8/O9Xr5+AEeHLq3hG3l8YQu0AYI\n9t3p3eaMe43x5FMV19fCgytNXSD25R8dsJs2J3VgQfW+SLB1Xr3c8pIpoHEF\nSaAb6LbESnvWuzJZXUNPOy7YAETtRS0twe59XRRujFjjx4lbrFeBwi777jN/\nhhuXzgVRBbQPa1g1mz3HGlg1Cg3urO7uyCi/QSTnR91m6UPit8kj7ZE6S088\nqrqv+N1ZbL44ypXgRSpL5unXE63h0kjctpx0lb9STmmHI6KGGIAPUPDCxKJV\nyzx8QQ8sRLj7FJINcPD92EJvQXGl6OtREIu1i2OPZUIQ+uDz2k7P2tYNdhOP\nN1N+Sjr61u4MgCxrs2TsC+IJOT45XElrhAHBZWMgh1a6MJByKb9imB13G2b6\niomfS7Iji8hbad7QRTxGfgQmJymOnC8whJvwShESz5wG93heZf3DcV1WQ9FF\nUEXrof42Zcc/UERwbLFQGkEE+0M5s2ZDAKxdatLdaqmiHSS988ZiRFhCc6uf\nh5yLI2jrKZru6bQJ58jIKxUnnwvwxeZTfXvRH8bl3hWgS9TRMWWGNSeXPUfa\n19Y6n04izsDTPPg11j1zJt5S44HHpxo6PRhYgEsAWl62j7+azbv1W5opa40G\nHfc9\r\n=cAgx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnZKOwXRGM9A/NTQXGjD39gXwlyIe8/gG/slVM1FLxsQIgLK4HBZ3KV+lK2p1mm1FMFH81BC/H0cSm5+vZa/fcKro="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-nav-update-rc.5e9c7eb_1615416694379_0.5016310670242885"},"_hasShrinkwrap":false},"8.0.0-nav-update-rc.401bc84":{"name":"formio-sfds","version":"8.0.0-nav-update-rc.401bc84","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"91ff6881baf1845efd1ae92bd3554ef8008b0f2c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-nav-update-rc.401bc84","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-KPwkmx7ekFAFLjxj8vdH0apVcp8bI2CD37SLPVMw5+H0d9x6uqtcl015RsVR8l4dKzlB5JBu3JqJxEFuc0Ahxw==","shasum":"244b248caaa4f7373174ecf2b57875facd37dfaa","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-nav-update-rc.401bc84.tgz","fileCount":282,"unpackedSize":1077662,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSWXoCRA9TVsSAnZWagAADXcP/it6+TfBuLGKv0T7DZcI\n3x66sPmd0rYxm3TovdO+TO5IywdHMv/KCTlcQauCpn5xjdvynl3ILyhx3GZB\nY97F/pnufV9gJRapW+SwCZEb43eADWoRXPdvyLSLq4zfU5u2dfwLTkW9OoI9\na1XLsV5y3/qgjkjbWPum+543XpaF1nhwhIk1dfeLkKlOBiGdbhO7zhDsjs8G\nZ0UwNfHeN3crkfdZuBTFeFVup88CGzkhp0upwxVVWL29EneDxV9iIrepoh0X\npwhg/WL+giQgOI5Dbit/paxLP9YFk7BtSBv/vz1WgE2MpTvJ5VDWou9BjKDB\noKH5OyBheGHV7p/48j/yMKOp1v/HmqZrXwMwKbSEUONBmVcLN+7nPyJLnPsZ\nJIWkp138vLNr8I6GK/6WHme38+VVjQZvtx753f5J/fRcQ06XpLZ97eoKdp29\nnMwlPLqSDGOIxHmJ5u/jNmlwwXWj43x1/NGhwJfdjy4EaJrjCbiZwGaVHsQy\nimvGDQ54TYkbOsafUGXZuWFhYi9xgW/Q671fcXLcbEYpUXcRU815P4/w2/Jl\nf9kKitWEcWdD50D1mn9HQvkNms+2i0ITkuwLGVfgWhIm3WZ7aNzFydWfKyd2\n2ehq49Tx8jDXO3BCw2SUPQI/zUIDKB/kss7YiwpSUbqsxFXY7d/gj+MAwveg\n2Oz9\r\n=pLcB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAFN002pLBmLAWjNiotsh5EcWpZHQGiqKVAwu7b4GB/WAiEA4x3XKdl0PLxw1P3lVGW/dAuIgZX6tO692heCpCvw/xc="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-nav-update-rc.401bc84_1615422951766_0.6901928053416682"},"_hasShrinkwrap":false},"8.0.0-nav-update-rc.6e128c9":{"name":"formio-sfds","version":"8.0.0-nav-update-rc.6e128c9","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d112590ff5c6388af40ae579e04dd0ed59ac6ebf","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-nav-update-rc.6e128c9","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-662uTklfA9DDVSNnDCuQgkguUeYqte/EMLINwgSaHwYgHQX1WswtLWHyZBalg1/JM3bwm/Sd8z8i9vpishU8rg==","shasum":"07707a843a070b5392ea0b6b95a9dded5010bbef","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-nav-update-rc.6e128c9.tgz","fileCount":282,"unpackedSize":1077688,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSxCxCRA9TVsSAnZWagAAqfUP/jst6301Iw2pji00nTzI\nQ5O24WGRad877fvQQj3dpFZB9FVLRuy1/RYMvnRjsb2i/2C4UiLupcvyamf4\n6ipuS+oMKwWC9jgWvXJZW4GYJasvA2SD70968Nya9LiQOmy/qakDy5a7Wc4v\nQZWfprywateNOlYqD+J1UgLBBXMoHL6l8u+6dCzWubMeDd5iLfMbWDgAeoxj\nhVskfCbFrLg2qnC0gM2M02Qg5welKK6Glb/NRJzkLyMKML20FTmt9FdshS1l\nsgBLoQVcN/KI3k/3OimEz5AcfjGW8ulHL7f1NVuNgq3aXiq2bjZHpsaDHbh0\nXjsZp+ds3XCKzNTeXzwydo4M9BNVHVu9G9i0FVyJIWSCqqx2rFeqdCRhGIoz\ndlnXC3vnOZtbWVhswoKi9ADNGk/4GOftT2RfkVtv4jOa+BERebxzmBAHP669\naE/7lPBc4OxH+PhUfVGI14opuW6KbwcgaO7Holh5UWcjVVkfE5UqkE/lpAAt\nWSDBIRFT653MyEdxL5Y2/k0vTztFiFngTtboJD6qJa8nhb9AWrUgaoSeSdoM\nZehCfQZI36yue+n7mq9HFDbiyBkp3H/1q4w4iKGgIGXf34bHo5yg26+LEDY2\nCDIOIaK2MBYGi1YNZyf0La8acYtnW7QcClIjspidaD6uxSPEEralrlvDH3yj\na3IK\r\n=6g/n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBZ6MT25gIiAQvemp9V5bRT6JqeRItwrQTOJwXXw4oGgIhAL5wp7C9cy3WNLPVF8bwzlTWhkQro6kyKBXxs4TAcUHf"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-nav-update-rc.6e128c9_1615532208927_0.42505175291643416"},"_hasShrinkwrap":false},"8.0.0-nav-update-rc.3e2bd53":{"name":"formio-sfds","version":"8.0.0-nav-update-rc.3e2bd53","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"063eefc27ac65e27caefb063fee2f5875fee3b83","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-nav-update-rc.3e2bd53","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-w54n74mGaG9irNLujvmeCsR1+br4McVS5XnEmcI6KBi+4aSt9FOcKDvFEDtp8SiiW5V/jSNobl7JNlvd9UsUiQ==","shasum":"5addcea10707fe3794bc4a6b44385fd8e7464bd0","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-nav-update-rc.3e2bd53.tgz","fileCount":282,"unpackedSize":1078303,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgW22xCRA9TVsSAnZWagAAkIcQAKSGRC8IanneIrutuuyu\nZrESc96od7mg+FFOv820O+vmLlqzHtI5q/JM3U5tkrpdgymWI0Ia56OcBugY\nUi+oAOdTcC/UELmrEmL4gh0A4F06I9oKri2p7af2mzkuQOSVNLwM6FEq9mzY\n7UV0OnlkeI4PwZ2yTxp8k7YnsbbfX9Jr0IRcmeTIThRrSmHwrUNd8zcspGyk\nsbHFwmwon9sq208DTgUX5rMXQBt6qGS2rFWNuJ+CR8BT7ccQrFzwtnJNYNNM\nMY5VqOeviVv2Jf3jgIW3AJfdorOes7dNPPlC/HpR01c2GDpllJLLYwJYYnU3\nSZQep6RjgL2ga0Ek3BhWpI7SP/ZpRrt6KiiEyPyZet0RXGdg/Dn7OncC7yjS\ns8AK0eu8tFkqbJ7FWWQ12PnuEH4DAJz9UEKpPnJ65VheVj+5nPf+ekO3FvME\nPf/CDRuW/GYtzoGXEdgm7K9kj+8sE6SZEKMFaLD/665aEIXGiPOh0lBZwYiV\nIObr92Tv3uwujrXH05gPPxeVo2XO1addpdZblSoXGdHp1F8X6QD8+PiwV2qN\nuSwb3gitKw/SwOAIRWauY+oi1mSjG2vOu3KK0fQ49DT6JPel39NnaFZdYZK7\nvhT9hlgL9opTaAIgkyovz5S7WDVT3+OO9ajGdbyjahs2a72eYoBHeHMedwcz\nxeGb\r\n=q38w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCeAW2hs0MSZJKA2ZGnLWBQ+Rbi5C5KMpoXU+k+5y/h2QIgMm+1aeafDn6MMnXSrzBDArHp8H+6eOqPpXACREyC3tM="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-nav-update-rc.3e2bd53_1616604592605_0.544426180203029"},"_hasShrinkwrap":false},"8.0.0-nav-update-rc.98283f8":{"name":"formio-sfds","version":"8.0.0-nav-update-rc.98283f8","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"2c8fe969c17c6498f453e8d58a0b12950d9f6c27","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-nav-update-rc.98283f8","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-LNaHVDjvWYS8K5pMXV6ZbI1d0pTvqrKdrXzRgnQdPIFG473DVec/gYA/lx85DE1uv3JZAHzheKWooIE3DFmxiA==","shasum":"8ff4528597a15a1dca9eed1e217e5c5f9015d716","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-nav-update-rc.98283f8.tgz","fileCount":282,"unpackedSize":1078303,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgW3GdCRA9TVsSAnZWagAAFtoP+gO/J2rXXf83GOyA1Llg\n+m/6Y+WhhoQsx344QvUSoC4d4wL0Axl+M9rDjpFsbmdVGJObIBtv5hbjCyat\nE78QVz4URxu2/z6aHvj4xGDT5mm9+sJzDAiBt8UdcK5AGBpGvLWsrQXf3Kyz\nfrwU2TveN1dhEy2Nam7WRNmlDArCLtvlBw2nY16s8z+6Eov0WlB0R4d1XlyD\nLFaqnFUYAoP5l6H1mGcH3amig5WwevpMKYLLvOk5jwQnbBVNNyBW6nNZTNOt\nXZ05PK1D4kGCmiG6hLQWo9RqmK/ka8t1L59mgqn6gl6Re5eyyhbDsHrUHWfT\nq68HGUp0l0ovmEzhzmwKw2zoR7TyOjbbP4A4u7Juc7V3Bjs66eD48GRLGrZG\nRE2+AFm2z9K4hwIokUN4IfZoKKiSTCras/o6nofwjgvWMEW9sCQxZyrLhMTo\nkJFiM0rrqHSm9ZexaycpEra/ITDN/UexZmL7YMWSDy7HsdIIK6/h3rMTD0yO\nvexqjpFxh3jwNJGi6HGqg+cb4kEMGx87xhKzfaYAcNOVDZZ260JyaTwa5DSv\naWCB/LMaGuOJImsozyxpU1GgN7abB5PYstX2mCGe9Zm/4zLfxAYkTVVEpDHi\n2IYNdVXKUFuKgl9wKCR73a4llNICWIu8J/Wl+UgvF4Wzxx2zxoB1kUR9MMU0\nG1nM\r\n=hl+D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIiZH1eG/8La+LuDy3k0AjtLKLviIm9Y/L9cslcXa3/gIhAJoBaR0PQbqIiMyWOFZfwKWs1+ak7IUHVnn/7OD7NJBf"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-nav-update-rc.98283f8_1616605596975_0.3634603604980877"},"_hasShrinkwrap":false},"8.0.0-rc.b4ded66":{"name":"formio-sfds","version":"8.0.0-rc.b4ded66","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"10076aa2e368c35d333e8fb2e56cd28763e4791b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-rc.b4ded66","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-IdKna3BEeBGM8zZNXJkr5sWstmrSn35jCYOfPCxh2tJzXQONhGJ/7a0rapfp0E5hivhAa/VsD1O4i4Mtl8/+mg==","shasum":"35c68777769265ee956dba3455aa88cd2dbf2c2c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-rc.b4ded66.tgz","fileCount":282,"unpackedSize":1078292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXL0FCRA9TVsSAnZWagAAkFkP/jdavG1EXrgu2+/EArqo\nYKJEqlcygTyFinWSxr+FVysT4i9FfGLsB4yZp+SCXeKgNIczcwrAhsxK2C3Y\nhw45mo2ncXboqP5jzNwNSEeCcuT7V93BDTmlgXYqw4/pZgiFdwLC22Am5YgP\neVUAIwT6oJcL+qHtv93J91HtdbUirwDuk8Wp1ChkkyBrutilIcq0Zg19M+hM\nNia9x7XsB8mRC+is7njrNtHzwGcCH9AraefKs4KtPCGXGFNadj/EKfj02PEK\ngINiYk0K6e2Izbp5FJTZDNGxlb3/AD3w11IsTA3qBYFXJyblpBgZRyHibYfh\niCsp8XH714ikbSWrMP8DHC40iecpHXfSZQcpwyHB5+GqdjhYcp2MN1vP6bNL\n5ck5wY+dfknNiaPDhqffCFM4Vo87/hxwNNkiN5X2HUNFKC8CSYZtJ9lgIeBw\niSXbxMG757boISncHUOXlvVzT4vASXURBJqHNQ+96T6OPqq1fDTmd2NqA+Qr\n3FgQQlbE3YBCcID1IjSkGe+0c9vuDZfjyDtAc0F1NPxzatWNkqn7t9WH46vZ\nv4XtX3GQpUv85FWa3LjX6nNxQNS0i3rar1+VziKXzlv8kcR5l1v1RKBSiH3/\nqpmp4fc3UWgbi5GiM7DV/OZeP3CnxOp3FaL4MCgPwaeslDP6Wpfz+aE6iabz\nkVZ2\r\n=3PIN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsCoqoi2YrS3WYJv6ggAmlhjQpibCZ/F3VSO+7uiZtxgIhAKynkXZEv9MhRaOkIR+ILOKPZYmI9rqBvSVevpb33oLN"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-rc.b4ded66_1616690436905_0.0034675336046967598"},"_hasShrinkwrap":false},"8.0.0-fixes-rc.acc0c57":{"name":"formio-sfds","version":"8.0.0-fixes-rc.acc0c57","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"e14a97cf47ef0499498106f8354d37f553ee3bec","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-fixes-rc.acc0c57","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-hLURDyfA2zmu0O3eaXchlXT1Gk4FXQde4NJfeg1mOoeS05hpOyZI7iRPBA/1ijY4pJjC/USVssdIDZrhJXdsPw==","shasum":"d92b1ccb4de74ddfea7c423330724b05e4eefad4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-fixes-rc.acc0c57.tgz","fileCount":282,"unpackedSize":1078475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYkTsCRA9TVsSAnZWagAA450P/0IAzBzzA8ChNaIH/rZ9\nrACtHyauH2k3g/WxOKaLUdFHF8kzejvyVP50sM4HoNrqRM8y2/xCD2txPXUx\nIF9uKrETt9B5aiHTDlcgKC3bYFSCVn1ZpkFtlOb2ihEBA1rSX3maQ2pBAso7\nhMLQiyjrDmFPyl3OmXwwOlDtbQJuUlYUFPnPvlEh5U/2yDK1xlkKSRAyLLja\npaRSC/mKjnNYCTgzziofli4pFrZ0GtsMoQbpPEc70yDXXfiFAyLDHcq5pQLN\ndhjB8jPVXmjOyy8UwAcUEOLV2l3T6GkAFr4ATstctKzYkczrtxRkl27+syVv\nhLjL7dHqUL8T5sob4ln8UNU5KNWQZ24QWv4Y7o6IiPMPgGhmM6P6gqGHXe2R\nHdyBkwaZEgEtuD0nsp9av9EWK+xBdsk4uyEG7CJDTcQeyQsT/C5ih66JeCfK\nzjwEgui+QdWQXKzm3LFyzLNCUMMm26Tv/3QQVfTj8G0ToWLYEGcLZv8wrIW0\n4fu2EKcnl2/R0kdf/ojMvG3UGywa0YMZ9VBocB0Jiqsobvld7eB6gSrTc/Vg\n2uyFszXN97MU3fskVh3GIyKPxTyRlqTW/lpQe5JUWAtmgXZzZmrJQokvlEAk\nU9tOtWKPmRQUUUnHD0PdK80/atk3uMYc7nWT+lxzfHORjNx8mzjU0kc2YY3X\nXztu\r\n=X8u2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID+Bifyp9WutD72TnEn9471xffFYmDkMuW+t6FRUUowYAiEAv2EYEA3hU5FTucwAoA/JIGXK2AD6POhhisMfzODwtPQ="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-fixes-rc.acc0c57_1617052907805_0.5413142612944963"},"_hasShrinkwrap":false},"8.0.0-fixes-rc.084b260":{"name":"formio-sfds","version":"8.0.0-fixes-rc.084b260","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"f2db075f0f97b51a8fc08d1e0900d4e9e8794d42","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-fixes-rc.084b260","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-xBM9ioDLk/3RxBJ4tOAbAqRUjIb0snH43M0UZ3Ah5jEudxOncqEPW24eJVjdGdlYuZatXvibIm4S5kuLxCCEuQ==","shasum":"0d1ebeb994ff6fd933bc0341656f7a2ddb197317","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-fixes-rc.084b260.tgz","fileCount":282,"unpackedSize":1078256,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbkc2CRA9TVsSAnZWagAALvQP/1nrZWP4poQWRQ09Lqb/\n+Rr0MWujIf8uxqxWnE/Srzefw/RWEHZtQfZ0bYCvdgd7FNRGGjKistoUe9lA\niIz38MJ9zSxan7ED8x521yWgee/RaOn6HSeNZvxV5WT/ddw096gqII+Jquhm\npEaY6DtZ5s0drucQgnQPPUUIT2vLNaZYm0+slm65LSUcNbkvgn9ck5FVzODF\nv8ookuqcC1Q279FlMmrr2Q/8/oYwMB6t7RZK+Sqe6jcq7wfSAGQneDc3fIzR\nf6XVLGJlYlxyWHmNxifnPR055zmGbbILb6fT5IoSfJ9iqratULgQQtkZYe3p\nYsgEpZyiuEMnvoAsLsZw0/Klg7lxfO+1D79PVSYutIDz2K15Sc+2u/C97ANq\nGWiCU6ghYvtZMjkshxeBZmGXxLPBEqltSrjRAfxNQzPNeUTwdDG4HzE91Qjt\nZqTEhxUkHfiaXH5VN0WaGk1ysG4kpnne/LWGbdWwp0AlUFM2BN02kHB1zvcJ\nh1xWIdmBGXP0ZTSuwpYwtG+zgbikkux46RKhIg+kArGpYGDMsyD/mSTDrcKP\nWxTLMa4Y+o6VhBc9m89jXmLXbiC7GP2X4f5lLBS/JED8+YDDR+YFnr9tq6q8\ndSHuVLNGbS7DrzTWDY5cVlNfTlVON9CEnvpMSMrS/FSbGmWEZaCPu0rwXbkw\ny21G\r\n=2h64\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG3vMa3keFqU43cm6JqYjWkQtXo+b7cqvSj/Lrfl8HBjAiACLXALxHNvjM2OTFXz8mYFy4z7H3ZcF1/w7BTvSWJwvQ=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-fixes-rc.084b260_1617839926371_0.8626845397416549"},"_hasShrinkwrap":false},"8.0.0-fixes-rc.b7556aa":{"name":"formio-sfds","version":"8.0.0-fixes-rc.b7556aa","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"01e7214d5b2f480cb16c98f911df92284cc1dcf8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-fixes-rc.b7556aa","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-PJdKzvmbmUSeLnd0riz7HE8Mm35GDagWMAAoHrPe9x7DxMQxJvgK6V0IKBMCw0nelBj/b2rm/Kco3tNCZSx6Gg==","shasum":"1f3382d9e8d0597a6cb5cfa966bd7a2002a4887d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-fixes-rc.b7556aa.tgz","fileCount":282,"unpackedSize":1078259,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbzuMCRA9TVsSAnZWagAAkHkP/i5P3p7Oer3q60l84wKP\nIa4n5o+VVVZrlxPrsbfz5/Tvcb6rn4eL/b8HGTt4KyrR3HL4W3+rJ5yzq4tX\n+z/pTmu+fI6cBO8WFPrFR0TfmYR41Qj+ynYoneh2Y5S/T7yrIsdPcUz2X9M1\nqhbg4r18FmK242pnZayoU/vSFPTm9xAFIlT251l8bW40z1pupHx6j1iCjVR3\nD9zLPSkKdfISeJ/maj+xuojHrD/4zx8LM2kk1JFii5nGb8ybuaj3E3tPS75e\ntyTCZcAXwUp5R2C//n0MYoOCqKcRg4mwSKQ1AZyKksuPK78O2wE1cDP2otSA\nQ+G0QJ5NqlxM/r9nWDG58bMisIrlYJ25xKoUyn/8BoB2NbxCV9EAoBoJMjdo\n1lnMx16ijdOqIt7RkJBVMIs4GN31IjOnzgHBmDVUYaUheCRqZ6MEkoZaRbXx\nW6btH2sbB4Amk87f9IA/gOXwTRFexAqBYEitoz95hrPje3KFptxlXI2q3f3z\nZdXvgJ/Vn04FxC1G+nAVw8Ln+v0kNjLosm0T0kdgB4pwz7whrtVuKDe3mdJL\napEOT83w5p3fQMmaHA6UZF/683kdzUgQnD821tN2UklcJ1NpWX0x8wN94Qug\nuEh27pwNWGfHU2KiwHezFwXmBm7murY3bzpnjqbcDgyqMEmvn5XxXERA0vso\nhR+F\r\n=PXkN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQJJVuRhsWJrWAut+SZNqrkw9Y43oy6sIy7d0619ui1gIhAMONBol9aR2hvdrhIdEesZqMP2jzeg2CL88lG0OLcVtK"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-fixes-rc.b7556aa_1617902476103_0.2652344351995417"},"_hasShrinkwrap":false},"8.0.0-fixes-rc.de7ffe6":{"name":"formio-sfds","version":"8.0.0-fixes-rc.de7ffe6","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"17ec49da8b921a5da43122771a01890fde46b4b6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-fixes-rc.de7ffe6","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-n8ckth3lKM3LezuhvdPz+h7t+CbXB3Stk6E3pxzwgda1TujPBnHSrULULckuWslcR/Cp0M9HCKxud0dV/mV0EA==","shasum":"d45b9f68fb530b932188e088c6abd0edee1b8514","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-fixes-rc.de7ffe6.tgz","fileCount":282,"unpackedSize":1078248,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgffM2CRA9TVsSAnZWagAAbcEP/AhDJSVLxAPEOszgTScO\n/VbmGZFWvNCnUoMuwwlk082iRwEuJ2UANsXOylowoMDGQ2CT2OsptvVlp7Dg\ne8AWULSzm5/nMXNYmUk+Ra6nHggbnCtJTfBcGuIoS50ZDKw7/EHLs2Xs2Gsf\nPmIJPuP4hQ86VmGlrpDbJYS8Baf/a8bXQZ3tSBicMgoU44xjxeGDe2IIXPhj\nzQDDiM1uo5bKOTaFgrbUCIzvlDh3gbeoFiBPUKVdZT5BTLOw70ZD2SJJY4ZA\n8Xk22mGinsSzEfV7Vs67SoGihpXQh94B0tF6pWtZFEvjRbAjKxuRlZHkmF1H\naSd+2MU25b83QUPYCvVwXdy9fUr8GNOHIHbBLSkwxiUO9HqDwr4SOPL8/tgW\nQ2tf3cy55KefkYHp8yplV6CmR8CFgGvrIl8P5NKXFZbqB69bUWMFqEpJKQSI\nA15XKrb20I9wzCTmhVjY+Qsnwb0xmzTzacQzaskMUV1iUWrZ9Ek03Lx1y0jw\nLkEKDy7ffyLvakJfKcBr8+oXjWnS34PlE0a0nS4ZnTOApxiwuvZMIQGbDtIV\nAN22hbevOjX+8IrKxEde+dpFhQXDEqzlmxuct71OPQG4uCLXvidPmgTSQvAi\nl2tqGMXS49WZuQAyWDMvIoi76BcVBhM8qi3NYZqUdlGAcP54cWY67fk+PsEv\nGSFi\r\n=to+A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHoUwMe837dp8c2xU25Ky9XXtJqIgI40j6Tt16Uxh9ZdAiEAs0XFQWzYWW9B+grmCZVUtN4R+Z75QiU2jf9s9jl9oM8="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-fixes-rc.de7ffe6_1618866997400_0.6882860925676657"},"_hasShrinkwrap":false},"8.0.0-rc.af6649a":{"name":"formio-sfds","version":"8.0.0-rc.af6649a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8097b475368e9943f72f04fc7fdbfb1182bc8b5f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0-rc.af6649a","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-UzEFio6N7Fm8ZKEcZVHuzi2KB+tl07/zjccDpH76KvLSN5zLoOt0jPAdheica9xV4ceEk+p9shHgWTy6qWRHlw==","shasum":"c578a3613095d3e20fe6d6a15199eacfe9180e31","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0-rc.af6649a.tgz","fileCount":282,"unpackedSize":1078242,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgff2FCRA9TVsSAnZWagAA9TkP/iNJbcPpxaaOm8KMvzFi\nCVBGrIs+Z0P6/yDE4mVYV55GhpAS2FGNVseFr9DnUz0Kk0l9HDh9rovxTPG/\nomy9++GUY1zxat5ZSVlp89WsgOxJ7otzDUrgMEIxtVSBy3TwFoRl1Gs5SMgO\nLWVYM0LRYpdcD9tTZfGoHv1624fCJwAaWmbejw3KBQv0CX5K4byJNT6xoOrS\nY3fAhrzbWDbN+Gk27ihRTzX/oH3V4ndP1pEUKlNCsMb883UJ0ad4+pTXrikq\nLXfpn+yRjShO93boKFWcrgkm6snBbBZIuaS1jJ01xkZ0ExraH8rC47bz0BzT\nY9tAepbknk0KcIdzfcEgO224i72ZHPEDNY7rKkaU2eSW7UwtYpC47uc6NEuO\nrMCQjzcB4vl3c8ps8ThlZw3yVUGt44sH+J0Rkv30PRTvn/Eb+2T8ZQdxVmT9\n0olwRfvwvFb0Pk7mIOhR+pRfzZ3RkG4VBAct89D7hjVJGPOSsdPME7OjDdVD\nnSr8+xWxM8D+SsQE+UtAjc5HNfspeexiUDxQeOpn9Un70Gekb0yPWHhtjB9u\nr8w6b4IuLic5SlvZTBItZo6Yjtum5lMms7YBL4RVxsw+LNTQUDCd718VjKCY\nKJzpHhN3iOcj1tLO1xel6TS5mgo2Z8mKC5wKzcDEmHIwpYpXhTnKydsAwXSS\nzttp\r\n=Ci1M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtmQD/D72mcgwh/OHOgNCC9GGHLNJsVVOLB2XjqB6dnwIhAPho7vHEjjZYhSHTdWD1tE6mbrWghEKC5Y5/5ngLdfkm"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0-rc.af6649a_1618869637158_0.9059965635290819"},"_hasShrinkwrap":false},"8.0.0":{"name":"formio-sfds","version":"8.0.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"run-p vercel-dev watch","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch","vercel-dev":"vercel dev"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"3ca61bb81c5cce141265990ffdbf5596b0f03c0e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.0.0","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-FSZJX/B9GQ3toTqFEjvb4+vyKsDGL+6XATIKabcwCCj1IvCSUfcUYF7jcstw1mtA9K3HNqjM9O28iLaAJ653EQ==","shasum":"7631bba54e45594a2b0b29acbb42d4d72d892a41","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.0.0.tgz","fileCount":282,"unpackedSize":1078231,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggGNUCRA9TVsSAnZWagAAnKYQAIFIG5OYW1IemwRY/NvW\nv7kaFN/4fE0mj06e8u1bvpnXLQCCIKNvwGrm4MneFdwpDEbC1QY2dDZrrs5I\nyBDs3Puk6V27FQFvrtQIkKOGdW6TkVXSGSZrnUOw6QOw3PsOJS208YdARHqp\ntCCcdrj9KkNA7BfgBpFkqy+OeZ9HNVbaaZiYQyGAhx3jwayQJJN983mwyIPY\nnZZAqmP+TeYHET7PZ3C4wyGdLjHgPNU3+JbQ1LVDfVdU2VnPN7+SahRU3zjO\nxL2wq+w1rZYndjq3YZ1hdrSF6kr0azYs/m8ucEoHzmhmKxj5UqYwgRNzw23j\n0mzXKmpchUJaXB0DY75jRNBg3HulCS03tETW5531bXGllcgzbzW0JPhsAKoF\nyz5sFgjuEHRb1qa2ywpTPcAu5YWDk1M/ffAR4+yRRNpNI4wEaZQhM5QEn3up\nH5cpRK3SRjlg4bnVg1jsU3AYQCmrBVu/NVxemAvSvLqKewureTfHjOD6nbyf\nNTjXLfzq99tDiHhlM4H1+JSWePJdFDzjEIz/pi6JAK0EB3BSyGLQou6kv14E\nb7uqOTNOBsZx7hN5SHxurkWeQGppWtFy57uomjh69MTPpQLFeRJeZaI2aiv9\nnDxplyJTWouTeMQROi9N8S5FgDJ29YXsx2QVNNtDygVZpd50RU5YPfWSgwb1\nzJTs\r\n=zTXq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1o3jI9julmw9IMr/PAC20r+j0ZhMmO5jGlDrizm62yQIgZjRxMyanPTytyt9maE3hiCsoFZSQQ9roLXtZZPAmR7Q="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.0.0_1619026771644_0.9778487697333873"},"_hasShrinkwrap":false},"0.0.0-59a9f6a":{"name":"formio-sfds","version":"0.0.0-59a9f6a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"nodemon server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"41fafea302da4514d50161af488fc79ee04b4f6f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-59a9f6a","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-ozd4FHF5J2Hj32XfwdfosCqQC9UpXmhFa8JwosTijOZobpR6io0VRdAPv+e4hGp2bk8TGo0g2CIPF/YpyG6F4w==","shasum":"8f0ed91bdd12c615f2130fa3330f3e0abc21332a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-59a9f6a.tgz","fileCount":285,"unpackedSize":1079299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghzJdCRA9TVsSAnZWagAAxcsQAJuNgUw/ofaYLyGsNvhS\njaJuvz0JRNwRpBFCLuMQUEElbuuPnpkEm3c1TLl2XgQA70hpeHuWZHvhiS3T\npdii8f7uev2z+pbPptPI7hEdZJADy1oJQb6KHnWnhAjk1gwRIth8Vw6se/HJ\nlmzIVTv7vpgbYcsdTG43+mm2nfKSZWXG8O6cF39t9NyrZ8Nl0Z0K3RDmew80\nF3pZQLXMgrHxl6u3WeoTpubzU5TWP4VG2hmC4IY+fsuKDTu/AM1xjmb/l+iQ\n/2in8++ti8zysuRWNnUToUmvyxHyY0hdy9f4XscPGScuWdH9+k+QtFgnbXP/\nRQN1nCWpmEyDlqnuAop112zhWfSO6mRX5Aalpz1d3iz+U9ATurpJugDBJX7k\ne5VKWpxPaFFdGbz1cGlXp4f9SZZz7z7w/SzAb1NWLnRCXwxSBKXA8d+jmKNA\n+L6uAMuELwcTD7qoC1uqrlD/fhARMKUV1+OMiz3sljNaJ/fNHHGTL+iLNm9l\nXanFOyJQmDnPSnDTb3rZc6I3aocMOGfp/cEHRAdRCLbHH4nEJERBdB2LW0r3\ny4xqbXJVpJb0+xhhA0+bMkTBGN/9of7NwAPh4KHTsd/u55FAYIxeb3/YHMA+\nrJwulsWtDWLWiPAp8joEsaNRfn2tIK9GyfTay+hrnYoSMsavn6lwxXZlqSNq\n3ALW\r\n=Ji36\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHEJDXeTyZmFQkBAhqhdbXLQQbq2KTgIS7+sJ1xvJungIgGjC5roPuXra74uC6S7asr+B835ZzPM+90J+iSWrzhWM="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-59a9f6a_1619472989075_0.7677042688692504"},"_hasShrinkwrap":false},"0.0.0-506724e":{"name":"formio-sfds","version":"0.0.0-506724e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"heroku-prebuild":"script/heroku-prebuild","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"nodemon server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"9131f7390c917bb494266e68aadd36a583075c41","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-506724e","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-4mPU90brxyA5ayQbMMflcDr9w4E8NKXcjMBDfbplvtgL0tIV6IwDfLMuTqD7ZkbQU+EJuSQT+pvdFzPPMPthcQ==","shasum":"e3873b89530418fc3d337d5ddb182bb59d3dc2ca","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-506724e.tgz","fileCount":285,"unpackedSize":1078866,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiEZYCRA9TVsSAnZWagAAnK4P/1yUyLW1bHX20MxRov7a\nX4D7mHW9nBkY6ca8XG3XZQj6F6vI7K5iBmQlAYdwhG1bsNetPuRlO0ImjrMf\niwlztMRZfj/dhpQWdtPisIsKx443DdWW0qmEz0jdWLmIjA8f9shxllbS0ZDV\n0j7i+1W6FFdkieNtWt53a63y/nMfYDJe50MDA/Ih/YMRG73S80mIxk+69oyt\n9PIiJoYiL68+1nSgcX/vNy73hXRV93UVTwY0r339HWzsB+aVjoZoLc8vI0LA\nTgGolqdzhIySJJXqdzmsrklJyJEsPu8nF+kK9gr/rj7dzcrCXxZwdywcZTEC\naEl96ZClcBlQONJP9RgWRyYajTt9aIoNmlN2v8tMFOxZt7RxgrtYCoFDeyvm\nPvQz6dWxm+OQ1VeeFvF90zpHFqGXYLj9S7s61ivvdYMZL5tuuKm+S0pnbuCS\n8huqXrhArKGTdzgXYxDIAI4L0j2zFNYua93SCiiYz5qcXU1FohjgaqyW0eYh\nxolulYNQvlEZp3bqX6XzOj3aybHVRfAil/TCJ54tvY/Xg8szwnH1Y0Pc5osy\n29rLQRwcAw/wZhZXbRSN3dppyiEJJu/WLTavsGacjvaKKVDcI7ZlpTDx6Re1\nfLPxcaoGZaMmTUUHt1lk/FvmAZzAZQvkGDSY5M2gUvL/jeJt8iSCJ2MY+DeB\nYKE2\r\n=2iDx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHk3jRVXdMg5wi6HbBBlQcf4LNtUTmOItNRl3OI5kYIPAiEAr20pHY1gHMr7FMYIK3QJi6mZPhgI6q1B/7JYsflDaT8="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-506724e_1619543639541_0.2310127274232825"},"_hasShrinkwrap":false},"0.0.0-0c3567d":{"name":"formio-sfds","version":"0.0.0-0c3567d","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"heroku-prebuild":"script/heroku-prebuild","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"nodemon server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"5026127d33e80c19902d183aa0bd55beb7d7d334","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0c3567d","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-dxNi8R/1gC1GNxeSaxPhP9WoOwmcHSHP0o+i8WHIhtJk4xYzL7jcqZ2fdYGKsOA9yyaLVULdN+4WdDNAe1zwMQ==","shasum":"ded2c1d442a765dea84a35b7ecd65bc50ec615a5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0c3567d.tgz","fileCount":284,"unpackedSize":1078846,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgicqoCRA9TVsSAnZWagAAna0P/AtqQOqiGRLw9oRcFSSU\nQ7E3MaewJiZOHUm9Eo/fcbotp7J3FWOQqd6JA6nDKnVB65rdfC0kvcOj7it4\nTiOFC3kTKp3okFUUrqHFsQNhJFi7cg0ZvOCPiUKP+ZfJgdr5n/sv5s6FiN3h\n8cYG25xsUkCgFCsKgfsBAjiIscjSiAHTFM0EzsLsLrO/FkzqBJ/HLU5eHzeu\nQTCrOveBuSVr5fndJ9Sfadc7x3ssUMNSSWXRZogNxdhjY3OLlLJ2whIMcPi5\nWOgdDiLG2SAnuMaZukSNvojp8uiMFz++9aXeBVWRJMS9y5bxYVD8o186VyPr\ncPMOOMj7xN0+/FAZlaclZA/czr0AwC4JHXl0uLL+a0nebksPU5d+hc9PkvPp\nemsidTE5nvJx2+RjF23NYgRQZRGRbVSXBQkycqTBCLjUHlS0jUW6d72cixnt\n9/KDJWZeLeiOQ8+peWLGgqEGT7/gh+2E7XbtimfT3Cz3SHFthoVZYj/pwH13\nE38VDnPqfcCy80d2fTl5AUTSgs59g5ki+yPb+qAtfoVye3awt4su0HHCw5qx\nGwkZbQy1xIAr6d42x2KoZ2ly1ZasIr9L0ggVQqJPm5GjFNc5fBG37U/qL9qN\nVpVkuczsLOf2/iyAWQnkf2J7ngQmWXno1za/2rAM4UwgwtGmoC9Gn1bAVFZ2\nlhCJ\r\n=l48N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCu33EdWD+VTUhs5D4M09XSEWuFhuqlwPdbGLJL6s9J3wIgcqjTrTD+iIOYqiHA/tjTo6k0gABzm0k6DF/+MntceWU="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0c3567d_1619643048214_0.13523183086268564"},"_hasShrinkwrap":false},"0.0.0-8a145a5":{"name":"formio-sfds","version":"0.0.0-8a145a5","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"heroku-prebuild":"script/heroku-prebuild","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"nodemon server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"10365958aa5e48d9ed3f488399574fbe55fa5a2b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8a145a5","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-DGAGKY1JGxuc1joSPz6+oc7MJqDVWB3cZF1T7RbrxHKludsydGVBf8ijEGKlR1jQyAWG+9yIoHWzz36haxkc7g==","shasum":"e9af67e9e10675c384dc9c7676c986b0fb199f66","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8a145a5.tgz","fileCount":284,"unpackedSize":1078086,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgidB+CRA9TVsSAnZWagAAL9sP/jnDMBH76T0RCVkNnr4T\nxx4lV9roIGPOK9N3fngaE6dF8YULzwCApQYZxyYDiXS+Gu9VbyzVyiaU98NU\nro0a3uSEM3V9UiMQxqx5nyo/lj5qWlXGRaY0HtE5YNDlILQJ+e41uUjDvhrZ\nXiIVKvJEqwBHpCMS9cRSxClFjXqGh9y8JvxLf8JUBtitwXlan8h0ySGH4TWu\nq6LZm3jEf6Hp13L8X/WDJgodjA/BzC+CsB4UoFr7EyeyVgnl/PnF0o1ggJaZ\nHYT7GtfUXMTFrT2H1mrQVV+/qy8j8AHz8WEjiDvqLf0AaDpqjaiP+6B+feyp\nJIpuY5AxYqj9DBiQFithxMMe7rAuwrYF6N5zBdYcIgtCZMU/RX9qL1z4909w\nPTUWMtwCzfLFQ3CmwpzZGdPk+M51Mvjyk0B2LBk2QswTFWiZd5AVNvcPGcRW\nd3vx8GPpD6EjJKrCAKfinHiDF+2FEqHaUq+zFD5+FFUfnRt6Z1bYx4kGd/Aq\nEefHqFR4kZGAmDuA0p3yYX/bobDHYZM1KIj2b7ZZ0FrMIVJHV8EBYZaS9bRt\n8TpmXmxzWSUBRdIZjCdY6CMRGalrTUN7AUpJfJIs5PuFxbgtYUo9Hr8pMudh\nh2IvBK+n8+CBG67KCCS62/Abnt/9/KRn+IA2kmwzEYsRArbfmhhb97uy/xFZ\nYwli\r\n=/xCB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDSPRl8Td1RVoLC6zhz9Dni6bH1+v/7cVW0lFt0J9W4pAiBO76dJrTLkAwje+qSUFqwtO820kRMaR3I38Gh9flkAcA=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8a145a5_1619644542424_0.1691121296055511"},"_hasShrinkwrap":false},"0.0.0-0771ade":{"name":"formio-sfds","version":"0.0.0-0771ade","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"nodemon server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"eb19049472b1f4d60f3cf62158c9a5a71546f290","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0771ade","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-1sZKFXaz0Fw3NH0GWKREgHEQdLF+4qXxwKddaqYCgPrIregqJjBlcik7B0xY8szimkAeXIQsx4GaPP4AvT/QNg==","shasum":"9aaf3f01d44e87119424acbac0f4286625b01de5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0771ade.tgz","fileCount":284,"unpackedSize":1078037,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgieZJCRA9TVsSAnZWagAAUL0QAKR7kJ/XCm87z5WtzqiP\nZWu1tUttLSY+r9ChPYYiPkKNAIkp8oojdo3GJOFuLMGsyJ/vttlbX7CIAnEK\n98scMP8h+xI0weDAWVyr0ZshHV5zP/kVQ9EF5QPaZoC0mHcCEU6q/BasxqRQ\nrmg9lb6AHxI7BaDfmZ/fY5mQxljzj5w9keL3TuFX1opZzZHjGyW58tl4lS7H\nR0/03Ycr8KKOlFjAlA+enbGaTz34YcsxcXu/NWggDQDb0ioQu4D47pYzJbxZ\ntBv3YQagJmT9vu1fPVVdO0FDKjOW64TsCncf6C6g6Be36twFyJjpYeWK1/1i\nRvKp2bZmykeBvcssiEeeB4noveRE86SYt93GxFo6pbx6jjfKb05rw2aLRIQ7\nYBtr04SXsg47AmIt/hPRJEDgpb4EF0uhD007CuLTRHllT4TtX1tPkawOYWpx\nA9B/anCidr5eUxzuopPyU76RQBSaKwTuRUVLW1lahTHiq0Z8nUlSfHVB24hE\nmIAnQgk0rGfNnYqlYHYTkFjiYvMoA0cLy3S5VCeddBCbfeyY5Ry4QUKHp0Td\nrXM3IHb6P2DFVQBuNg7AHhuEqp90GN39yZRLCKpQNYg6zSqUMVrJ0Sm+HDwh\nZt2sp7FwiXDD51Y6PgPGEU6aAy/T74h/O3vbglGXrzDqu4H/bYftR08d8vFP\ndgfT\r\n=Y1Hv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGjJSCUBARxJb5cwaJMBGFeKGGqxV5CzC676kshoqTbIAiAtFCEngA3HB5Nsw+PL6XVgkneAyzPfT4xHUhG8YjGEog=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0771ade_1619650120556_0.06318582826908292"},"_hasShrinkwrap":false},"0.0.0-8270832":{"name":"formio-sfds","version":"0.0.0-8270832","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8e411b50e8b4521858874c06c01025edd11c1060","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8270832","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-hPLr9o/jByJyX3FKOoOmIViQLWgUYOywPca5UUbVHT3IjVr4TJ1+Z3AnVTT2wnrNVJV6wSwzx1Q/lDmve9zG7g==","shasum":"56726678910e819f2658760339128b4062ae2ff8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8270832.tgz","fileCount":283,"unpackedSize":1077484,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkuQUCRA9TVsSAnZWagAA8+0P/0ohPGQsrOQuja7D/Bvt\n4oDK17SK9Y0TNjbpL+J0a9iSCZz/SCZ/Hkh1rGTu2N1L3y20m2wq4lU4JV/Q\n0QXO/m+JZp+l3TBAnFvUx7sfI2ai0GMq8sg1+36OOkhW/oOfZW4xLqlL2Rw/\nw1uPHEBxtaIQERGRnP5kB0EQcqAML1Z3FutNDH82k8UqNR1DWz8DTMVjVsb5\nQiMZkH4X86N9kTvoCVJmGwGLPzjDiXRbIJC0HnxGaHNt3mms3lPHVqjPhSnB\nNNR8/0IT/awOqH35R2xg9tQyxiVbh6SD2xJd0IQ0rSZ8ys6AM2QdjqdqRg/N\nkvEiix2wOg330GlUZIzl3dEQY+tVSDZ9iSf1kcQbQaURuC2nW+PxUsA/SQfY\ndWPnRnVp5NJGkdwq1bddsddT6HBsakDSsq+TmlSxcY622mj1l9m2XftBCn95\nSG7enLwVqkRAVx1Y1+PrfmRZCO5pW+6YRAjfW6U39V32nLpOLsclIBJxXhrj\nZkPlQXQj7tXN1/0fgi/W36KGrCZzn0vAeoVXLmsPfSA0wAJg3v9M+2mSq+1n\nQ4AI/ANrvbVUGPUuuSK6dLp/tOp6G5Y8/JDrZigNBRqAlg9URX5M5SBIscZw\nwzQvY0vxI25+uR7NnLYsUXXv6f3sHeCAHGOLP4qiuzw5hi363Ywqr8xGsSZG\ncyHk\r\n=a1aC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDfq1PjFuih44X1Q6pNYev+05DQG5XuzIzQ30ldRPHAoAiBUUkXhU6L7dbFSThUsuGIwPM+ZFBCb100LaYuE5axgwg=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8270832_1620239379425_0.7990635136401949"},"_hasShrinkwrap":false},"0.0.0-27924a7":{"name":"formio-sfds","version":"0.0.0-27924a7","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"89c9eef249795329a7c0399a267b692d8d533eb8","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-27924a7","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-7SvjfWUTLm5elV+jmIpxdi4T1qrGvePrJ5j68ifJW/LuS29wlrXfNX3gqcIihAtdpKkikIcJFvWLbaXHPCo3Gw==","shasum":"518769bea794da96ae4834f1e690ea927b1aff33","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-27924a7.tgz","fileCount":283,"unpackedSize":1077484,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkuSfCRA9TVsSAnZWagAAWKMP/ie3qQcBQt62LYt4M1Mo\n2/H9XBkmckc0uDmhekOpdtLrCk2lOrKOLq4WPgLUodYH8Qz5rg4cvLAmpmu8\nbUq206fa++D9Xw2CTlYLJy5a/8++swl1hn+zpmv/tCJ+J8epaWVTIQCtn7nF\nYZ5but+cxPJYg3nqdSMoWnp7wYGK3KSawAu5jJN+/qWkYsW30kFdb0MPcEE2\nNRCaathrKze+9CMSB2zL22EthZHCH1aXFWsQC66jX1m3i6M/jLDeMro/Foot\n7raGj+4fHP3LbN5QdSaieCgT9m6SC/LW/w2vYDoGQ01z2Ae4x85MYdL6ZAzv\nrDbpTRU59KiEJhhvc4MvenFZO8imE94XlVYlu3oi+jqfqnG4uubgbxydEWmq\nuVm1PruG60G4Aq36fP6o7Zf2Vevk38BFmb69vLqMESRlXFZNWv8yImxUbKCU\nw8KukM9DOjR3naBhAXpJbotwSevSmUG/AsV1cJRKzevAD3QAJ4WZ3HU3k54h\nlJZGC/uqiMAUSHIYyiCewig9RxGWnm/HQWfWpSRG/AsMKsU5mg2bVXI83q8K\nxopZ0ZYIYF7bp2El9qkP/BHaNC5QkHifNQEfMQUtguS3FMf+u/19VxkfYZkR\nu0p8e02DgIgYFdxPjhtdNmRkayLnkwmxagxSlRKjF9eyIglyOlkVKYHDgjoD\nyyIv\r\n=Cffz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyZr00Esvoco5fp0BPCHGZLu88UAVH+Zpr1dGUUEnIXQIhAKLXo8MFcs2qAG3jQU8Bxw/Y5GEzkkhjLP9nkKFF6CHl"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-27924a7_1620239518926_0.44941122982630954"},"_hasShrinkwrap":false},"0.0.0-0414f5f":{"name":"formio-sfds","version":"0.0.0-0414f5f","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"470c15aa5794f9e717e054dffd39f92d0ebd85fb","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0414f5f","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-dJc1/gbtfLZWw8bxzIN5sIe7WclJBXebaE1FxDkOnGe9mCIa9kkC5qzRX0YF33G+31oKhf+jGYBzl0VCkCpCiA==","shasum":"3b461d2c538e2f73ac48fb5f9a7a65f65c63eddf","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0414f5f.tgz","fileCount":283,"unpackedSize":1077925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkuWqCRA9TVsSAnZWagAA6hEP/0zKp7UTvqWwbdWfhQa6\nj8qFZaUjYH2K0Co9Cll8IFc76H2X9TZLWqpPGSLqyFUXXL4LYCCi17SRtWId\n4g2QLMZvAnQqv8NfoX9bgWHMC2rwPaODjRrPvcBCm52j5dpEoYQZqDo/KA/E\nN1Oa+R157xMhI1aKAJdinYT0aFb/kqh91KPcIzABZWHd0NtFyeAVeLkvtFjq\nhu7HtA7wB37SpCBLG1NLf3xWL5RAxXkTb3NRIYcvjkm09m8VQHhGbPEdunMo\ntbPae18bFgMlzm3OBHYktERUXUr0+B8D2FOwn4tOrtLFg6EA8SKggntvTZHW\nfcOvnuqrUIOTDlicwfk3HgiIvmKoA8J2ZOGn46sWwQxQgYGbAeAgLrgVFbkb\nboeG4u542wxlxpVt6RU3wxkTit4K8nWm5WtCuZhb0clXnNSUv+437nsdBQCL\n3xNYFyrNpBPahugs5C5UeP4h1hqbH4ByzFI+G9Bs5N6KfwMi/vUauUfdVnh1\n6Euf1j2y/nm1l0CPPVhBbCzdpFTcshv1CafavRtUTLq4XbKgaerbzh/Vy4a5\nRI+N7SbwcTU9ZADnglmnNWD6bOh+sAobqXOOOtrunE5I1k43A5cWMTeJ/wtk\nq1crC/lyETOYRxG/97dUHS5e00ocl4bNR3759wK289csbHRbWui5nZj9jDPz\nV93K\r\n=hRtF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICIvjm6LKrjDafkEgrG1sknIYgj4STeAIKkidl3nKQ55AiEA0j3JxbP9PWLF7wsVdHfJ0znhGPVP1IcyOLPhA3nBnUw="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0414f5f_1620239786249_0.4607858844266248"},"_hasShrinkwrap":false},"0.0.0-c563ac4":{"name":"formio-sfds","version":"0.0.0-c563ac4","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"cc4b0a565206823345ae2780e52fb653c6fa717f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-c563ac4","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-U5krlmr1fp5Krsd73i+btKd6TsWO2u3tfgkB1yoK38hbzXGck2LcoFERxM9C3hKgjga0fmI9MYsr4fijEg6RAg==","shasum":"b61f0d00d5a46eb74247c726045c9e2f2c39c23e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-c563ac4.tgz","fileCount":285,"unpackedSize":1089439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgt/bvCRA9TVsSAnZWagAAO5AP/3cs1VnEnz4sJZP8gKMi\nvEFh8Zu0CAwlFORJzOOG2QZ0Tb8Z5xKbetj2loOtApuNzCbb6u6DpY8MzoO4\n4rsAvhzmzX90s0W5ZQN5pKp6fYPWzXnuWRt7HECCHvADqLqrVHMuTz8z2rMk\nD463OJ8njpZsCEHrN2kHfj9w0yiURGUjVG31mSKIetSf5GNtldMcInwPdXxq\ntOi6QND85nQKkZT+h+cqU+SaclWrn3Hy08fEIk4+MeMOode+UPaimf+4jkQN\nivq8ZHe25i8fVQzxEHZS3PH8MYMRkgCbNQImFHhHJJ0bmaUReB+W2pH/UHxt\n3iMNm9Y/32aV3dY6eDjYSp7ZcaQ5qSYOgtjds/OMIg4tGpKWMd54HEyVpd6c\nF66RMpr82QztQ1UpH645qjhv2ZCQc9Tl3kwFT/vfy8hJ/eB9wpcuH5DmVBI9\nCAzBnKvQxgQbo1HadLDWW9K/y9sBCdxEumuqYAoQlwAC/HmSl6AnkJDk0EKD\ncpD1zORE3QepOuIOMtFuokkBfXDPdLId6UN5rLqdzwf8p8xBFJeGK1bdwkJq\nHEWkFWdt8UwscBn+o0CV2RU42Dbl9j74QWy6rlJMbjD2kqKGOcLFm1fJXWKY\nk2pze3KPShmZJFzjKb5MMdrIdXTtVSkmN9A3pXHnIbhwQ7sRRMX/6JZiB3vQ\nK4nd\r\n=M2CD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaJ+3JUFWXL4YnQu8tDyajDu9oafh28Cg72B1V7WjrSAIhANHffz9gyFQGZlewzspylvlXr4zCHkOGkEQG0OJlRKhC"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-c563ac4_1622669039314_0.6915043761914612"},"_hasShrinkwrap":false},"0.0.0-29cda67":{"name":"formio-sfds","version":"0.0.0-29cda67","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"2dbdfa17769fdbf83ccd46e3cae4cf766766a593","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-29cda67","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-5wStTSZ4knDk6r+jceUF6m4Q5pyQS3KuQ3e0e4Q8C9kYxa7D+3iao/TiLZVn6fsbutQ/GqYBmHnN0zh+AWh2bQ==","shasum":"3bcaac8ca7a8a117656f0918c5e55e289e5c06bb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-29cda67.tgz","fileCount":285,"unpackedSize":1089439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgt/vLCRA9TVsSAnZWagAAYM4P/2SRBKbfjmBgN6ciR97a\nl1372YMMMVr8Qcj4nN9V906mcruu1ABXIGwPe7zj01LC7EwWr+8aIG0ltPRd\nGc2Ck/NYhhBNuHFJPWGnc3wkjaMXI5ksx6b5NKHw2y/yxKUI1q5qJi3NgX4t\nX6W5B9lAlBSipbJHIRyRf1zSRHwS4X2pu4j8pMNIKsf9S1U+sNRTL0VGyZHv\nBpP9Vzu4uD48wIJ17V6jRZtoPJBAiRGTIFKzUmVGTOxXXEHwNg+foTQY9AC4\nJrvgsxZ/lAFxRPvokNoYXt3F7E6Y+e/aHdoPJ5rL+3YSkmsKocvRj81fkdEz\npyJ99J41ZiyvIJ3ErXtGn5LzfC5kRbJfLLca5Jy1yHtdCQvDCngMky5DWTPq\nX4DRNkqpm8vT+jToYoSDgtuRKoTavBdBXlRO0cs8XrE19rs+zMxKqYerJ8uv\nThCf8Or5X+thNvvXXJICeA/p5veWbp/vOVgmRbhgeqcV5Cec4BhcLwPE9/Nd\nT5o+ZukY9TPifVz2i3ayZKfj2uo1KKRGioepoFsosKgNGKmFJXA/1k3J6p+H\nJZzYPEGSovkRRRgpY2bAqKXbo09APrNdeNStsAbX/3hwBiSAibs1DzbKWD7x\nmjDWXX+bTDmftfvC0IASrkP3HGQsNOoZ1TrgpFgg4TKRWgrR3IPyn8II7lIs\nqliZ\r\n=QuoC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDRi8W6Ht+/BgQiIWTTIG0QF54lrU+NAPYT0wkb4O2ETAiEAjv3rLEbfZjNkD89Ngusu36HEwpHjULLK6YkOPOc5q+E="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-29cda67_1622670283458_0.9244183658708212"},"_hasShrinkwrap":false},"0.0.0-f28d918":{"name":"formio-sfds","version":"0.0.0-f28d918","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"25781ae842a7104a29ce15285363026f91b7242f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f28d918","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-20MXZaOIb/6rkpt0cP+oj17AZV18G7QhGiI+/ejO1wwe1PrSlIsEUkJnLu8hkoKfIRtxGqVokH6vYvlBjT6N/Q==","shasum":"27126a7e9055ae96321552749d790f7f206943be","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f28d918.tgz","fileCount":285,"unpackedSize":1089389,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguBU+CRA9TVsSAnZWagAA4bwP/37/aUOA4ICszrn1CH/5\n5fxfX9MMmAh704Cg4I3pGmINSTQV/+WwcUqw94Zx3WpLrAPLsmKREF5pt8Lt\nb6xKUgwQ8dy2ZQlzQUglO/Y0Q85wjw7Vv8xufI4LLujcRP4oDVCPciRGrE2K\nMkbt83mXlDSjQm6SGw5mlNz+Yuvl+8QvCXqlYGKPNNOqKN8oOI7zwCExKgSa\nNzVeSv1OdBkiMm+rjYEh2jV+3Y0tH+d24DdoqUAcuGmRLLrxKU2qc5O5Odrf\nndBQqIlo/cuIb7uJwEoeThEP5cG8SOzZQTQfwTD7eCoBiBWKlrwbe6SfPjVz\nuHXttHsVkNazjhjpKBCN5OnHl8OfyZlBkyO84sKXYOyEzbJfit7mZ8971Aci\nNso5cMBXKes0pQ+asrTJ4pTvX50dp2p6nS1aTNiWfzxWV4VNyRKJ5akMg7w/\nx88ozsXB4/V8911RhjuveBXYGj7muc+mMzp8tnR0DarzO7KEktH3tgrYGlSl\n5E0hHiYPX+cXvpwk8xiJu5zXxt7LDdkmozKBH4IP34u9uRGxya4vHZ2Jnm/z\npf3+o2FKe10ol7ccKx8GBxjKLpKm9lxFLQhcNcHOaGHJFys7xcdVtdaDkn1s\nKC3FPIj2IKCCvthbDiPZCepeudRjC1fxw+c5Fiuj+7aGqwPnZ7bzxbjfuj1b\n0ZDj\r\n=5viv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRTuZMOXCU5NEbiTF7gcJEGCMnsp2fNDTVdpPEXgvrAwIgX2CEBuJP4LrxEz3QziqM0sfqJ1QDzRfn1quHbYdNHFE="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f28d918_1622676798412_0.8343780492114734"},"_hasShrinkwrap":false},"8.1.0-rc.f976eeb":{"name":"formio-sfds","version":"8.1.0-rc.f976eeb","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"7389d8e1483900c63e6af829931f656ad8382e33","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.1.0-rc.f976eeb","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-cYFFY2t+v0jxOFRpjGepgxNm9gEyoJZLdZVWQi/9Xs1FJIeKdx9eugywto3MVTx5DGVMstEgYHZ5dsuiB4cHyA==","shasum":"f2558f392910c41ba60dee555bc1f7abb454664b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.1.0-rc.f976eeb.tgz","fileCount":283,"unpackedSize":1077928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguQZ+CRA9TVsSAnZWagAAweYP/1T7RlzStrV7GweyX61X\nOzOXJOLoNu+t3oMxI9Xmey1w7nF/PDn+FMEL8ujwk5gSMIZidBh47UZ79Idv\nZ8zbbRwfKm4D2pHmfKTs1GxB9pYvSsOf+8upslgTrfvnPVvRmOsE/9gVTSQn\ndjiNk4fPt1p8Lq8Ihz5ii6rDa2anLsHoEAHsKTphKII+0caP2RoXWMuLEOvx\nmV6IoKONN4oGrUsW4SZy7Q0KL3qQzNOa6fAlEhy9npWEyOCN75M9HzvxG3Uz\ncLBWdRLFf8DNh87pOnNw0Gw8gH4SgChzAnKEq8hdILNBLvRuh5DNtWIHoeqG\nVKyiobMUvsyomimuOnRaLaGopxbINas1Ssr8xjd/iRgePAd0uR9os6mjybeY\n5rVcCLWM06ClMgZE4zACLvamgI6XuaNwDqIjA2kb8/7TihSmqEt228zn14TG\n+hOfuLNDoCw5PJnc6rkTpcacX9m2mHC4KnkQr0JZ9Gt7po2Q2CgmA/JWra2u\nv/YpgVES78Z2ixzr7AG1jNQ2xCQjXYF4G4tI6VLOhmlwVY4EOzfLJsafwVOl\nBIsBIq+O4Ztxfgu2LLgHAwp+EfzcwCXaeRM95NBjobx+mI5XMgvlerLRuWee\nrbcwoo0i2IytYrME3eHTnpFxMGUvvd5nN3F2xTPiwFVW5qZApZB9ZGtHr7JF\nByUE\r\n=zWlM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFssnzB5kVcFVu8SRtmyEmHXvFTxSVAyrjjznzHMmsszAiEA9yAVqJjmpdRT7n31jgfYaO4oDc0pSEzPE8Lq5z+EgS8="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.1.0-rc.f976eeb_1622738558763_0.3230558285059846"},"_hasShrinkwrap":false},"8.1.0-rc.72eaffe":{"name":"formio-sfds","version":"8.1.0-rc.72eaffe","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"07966f4035a850a55fd3b16dc50073f75738aa29","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.1.0-rc.72eaffe","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-p23ml7XC92Vm8zIEBNJERWlXhgV+KSCp4rgcYFbNZyp8sColQvApR/zvsg+m90+zio2A7VknJhLbAk/I+JqE1Q==","shasum":"f98f43f22316ba7894e5632e4913201e9de9a27a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.1.0-rc.72eaffe.tgz","fileCount":285,"unpackedSize":1089392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguTLSCRA9TVsSAnZWagAAVEUP/0iaEuxDLbOdR43bQTGx\nb6GzsWdXFgotVhzN2WRD326kMPbiF4NPkzUk2gIZN+2ZOWuAEiC/L956QBqU\ndNGH/A6TvFv1nA3CQ3B2Gkj1mUE3GEzkJ0V+/DtnCDBP+EvAAPg0B/9Cxzlu\ni/X0rPmkT3LXsuArW98CxIVogHwt9QPXMrH2jQRFc/Ows1fbdYY03KTmfKsu\nMMJVaze1iJmETQ/zef+KlTHL978w4aQ40mHpo+hwlOlT9tpbwEbuXy/5Nmi8\n6NgisTZuKEAugq0HJzYPerCSuhs4gRTkGxOEoOjFL0n24Sv12vekTtfiE/S3\nz4aFuLijmmXpoJ2Hm3Jj/ahc3hq20eBGTWj/qkfBxxwTF9/K/QqVw9VCEGaC\nI3eWjMpj1VXkMS5zM114r0q4PtFsOQT5Oc3pm+ChJ0xkMjrch2j6aHPPoX3n\nphydizt5pFFQh2+4wz9S2+tp7bsaPdyvYpRLhHA8FDKLWCeIpb21DIqR6wVp\nS8xHQjGDsK4M0N4+f8GpOBHAP5HwdM+TQH3MW7UD69hPb6vrQNkEevLqJHwA\nMex1c/W2E8VIqTuXHyLKultSHgMX+e2We8z1OWhYDPeVtFKhaILRKCGO7aTm\nlgGu0zsk1oQhDFLy8lUICgyW/eNtw/7+GzQkzkCpgCSr1jt0Z1VlumXyDI/e\nMMUd\r\n=dOTA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEHS1+I6e1ipAs+uCmGE2wfdaqiAht3LSZc6X6V2f+rkAiAEjnsvuHyoBzumj4WIOtm6VgHe3JtM+3qTbuXj1vIocw=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.1.0-rc.72eaffe_1622749906716_0.8265000185325111"},"_hasShrinkwrap":false},"8.1.0":{"name":"formio-sfds","version":"8.1.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"c2ab75c7c7540d7c0fbd2dbcffe7574759e7054f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.1.0","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-dL6cVu/FJeRX4udWPV7MyaS8o+YHxjcuKgaUmDHne5ZWyLvkfrUP9AxA+MogE/KjhMxYqzlPXeS1ldsJdNqL1w==","shasum":"0c1f54216c3b61cb55513d65af66ded4c6f3ef20","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.1.0.tgz","fileCount":285,"unpackedSize":1089381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguTUcCRA9TVsSAnZWagAAA4wP/ipSM2px+WVoG9szBmH7\ncL61BJn4EqgeTDo+z/RbNQUGz5NZVJU4a/p+bLJA/YSQ7Ms9ah1oiG0VhuPv\nt1Yp/crKltYR2v7RSDmZHZALPsEj1U53IfRW880bfmrUi43psZFIGS+b/0M9\novs17I5dNwytKAL5fGy/kTI9Wh5MHmuADbro1AwpQfemZVwBK1nTpqYle7uO\nlzBqeiIQ80LXnfhs+AxQPDQMdcmS+5nmyXD0OeH7bjdh1hHQMnvM7hckwWFY\nuKRp2bjmSVUi65jlg+UjcxyZEBxjdjJImfYf03h7hvSIxcyYmI/NdweSUvxh\n4JqRu2sjU1y/yNe0qc2btrGYrIvbyS/CYngfnVSSu8HALvPjw24k9vrkXa/o\nzrQ3LHVmKRmyKa1uFnVEOkrDjtgpBl3WhNWOQnV9t9P1N5vxAzjRxjORUcj3\nGmXlF64DRNUfcI2xM/ntNfRM0bkEU47wm4cblMc5PrEPuub+ShhXQAQCWIU8\nm9lo1V37ONTDDec3Z+hEFMUlQ3sZlk1PQ1HWhcZxgNqTwH6gwnMn+oVs26vi\nGTE6tl1+Ljdz+lO3PVm2QDI5irgacAZD1PWg/60sTH1MBfnD4AHaElHErLUo\nFBphoRJeF5fgLU+L0A2Cs1DWWNcPabFS2LpVQe4dVpFAEqoe+vV2KV7S0ci6\ngixi\r\n=VpfL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHsFf4ZKvcUN2QWlOGG8vjalJzAj9cvP319U6+2c9GZ4AiEAhQfDa+vMPrWm8WqvIhhhe0RF88GVTgT4AophdYn9zb8="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.1.0_1622750492076_0.8462501725377471"},"_hasShrinkwrap":false},"0.0.0-bc05720":{"name":"formio-sfds","version":"0.0.0-bc05720","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"7b7c8500542cfba8870a10032068c5608aafeb8c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-bc05720","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-vvjaK+tvSGPzzUmtB0OHGwBeubtu8ip9aYkPjAOrTgK7FD9YrgUNptwoSVS5Ifdjd75uG+gyL1dcjix5VDDwQw==","shasum":"a99f4eda0bcf2180495a759b0b4ac52acae7a6cb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-bc05720.tgz","fileCount":285,"unpackedSize":1091041,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvp+UCRA9TVsSAnZWagAA41QP/iQ8ORRtbzHTiXCuRxC0\npe/45dQzf0GnM2TysAOULLpLQf6vxh7yZdM8l7KOb53rifF9lwXch1WiM5Dr\nwKYx1yh5ahkd+OHRRzK3sxRa/SUqWZJWMbAMsh1F0SIZmFC4s2Y84PBa1W5W\n0508CdGpwEXMxWvi1csJ52EKZNvGebBoMuExhmZXwQduyB7gM5FEurRTaZlV\nXoboKL0Q/d9q5GQEghBLDh3QbLpJbDXxylfNC5ABmxPsFEAl6ScbgHU5AbZP\ncfgv7IhLWlpUFzs4tLOyfWemFNDcIyjUl4E0kw1CsEiobywI4+LnTBOJJUyS\nKUBkan9ldtJeW07eTAo+8kayP6mfVi+B7eBjPgvPNima/j/VcL3iI7+w4Cv0\nX5aLDF5TlTqum7TCYTBho2+utUFmm6k4gUiVR+FTpghR9Zvb2bUlHtLHQMSN\n/CFaoIYehb1y7rUk2zR2p28M7iLkRlFQd7QjVOeUkFNRz+WHiOSlUMMVUHZm\nE91kKa+X4Jcf5h/Q5jm92rvJSliydBhhS7Oj/atyFwi6GyR9rNuwvvzyrcvY\nokz3As1pLemJapg7I026qCmKOAKs9aU54yoIF/VPXgMWbtjxmGtufUWHV3Uo\nfeD0O2DO4wg5gH2LzKqTXfmiLm+gUa6ifFaHl+777Mr/GZtwOzV2IFQ/RIO4\nb43G\r\n=x+QK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3+WTShkGuIw4oH7jNOpw2xaorSG1rv6sWcE/z8QeHmAIhAK400tiRCsE8Aro9w5CGIQZ2QhJtLFFXf4/+qrEYIzSE"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-bc05720_1623105428087_0.9429559912096006"},"_hasShrinkwrap":false},"8.2.0-rc.7e271ba":{"name":"formio-sfds","version":"8.2.0-rc.7e271ba","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"fb654dde40641a34bf8844831ecfa6014652aebe","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@8.2.0-rc.7e271ba","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-Z+jg0eADD5cGTboffPuUQ18/FGKsxFqqueRnuz8y8Rf979wEW2WoG3ar3kRx3VTvRF3sCgj2xBdr0OIztJrBoQ==","shasum":"2cc9e0b90f3d25ed1f8af845c708d1591ee6115c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-8.2.0-rc.7e271ba.tgz","fileCount":285,"unpackedSize":1091044,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgv9z3CRA9TVsSAnZWagAAnnsP/RUyyyhRY8D3dd6qW3qE\nVvG+9R+19x9akXxE7hW2kF62R+biLlHS6ithshoQU7ooaEKoiF2p7x8TkTjy\nJuipQMeJ1g82mV6ud4fr0ZTUYcgLzPYzapRb945KdIFOG47c+6zFdVOQNwtx\nGwmFSyhsrupdlNFb0zXG++wH1GE5tRrbCBDJpWqUOXj0VWkWaVvVG80OTcUR\nyKDlEcDVAL5lZuac91SL2hp/jdfvLsRB23Yaxuh+EFPlscaYxAOxFu3XDu4y\nXewLeE2HI/4Z9b1rvL7hS0oZq0alt7ftB8pSW7bBjO1kQuDMN3t6nLdjeDr7\nNbSpVEklSxM0IMVCw0tyy9jjixiiBfqnLcHqOBthT0iYPTcY90za/G7cjOOd\n73Xkzwc08coOB/rNmIZSLztS17vN4duFAC9+0zERktfSHcbFMvIzx8Gejf7k\n4lDa4qZuvT1ywl7NJYCy1a77oJKMI7KEGd56Ry7DOwg//1DaI/us+EUO1yCx\nvmYsViiR/eML1wNzi2C/O0EiKO8dWg9TRUsR1GclFxlfx5eEbavILVJC9rYu\nDloe1yWktDEQ3UE2h4yMxsAJ7jZrCRZVx2qcbsYu2zjrufA9BHGexdU7C/8T\nmmKXksRw/Ct371jeRY6y4jJFra1wjX20brEcqJztKcA5HVwXgTSNcFNvgfno\nS+3g\r\n=Qx6v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBdgliBiiuHkScu6F1Z0Q28oGeP/TT6PhdmGiPmdXod3AiEAjTNyymR7i9S/oYAFCyvwybpjDEVGtvi4xnj3xOTUkr4="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_8.2.0-rc.7e271ba_1623186678721_0.47314194955135336"},"_hasShrinkwrap":false},"0.0.0-6f9f4e2":{"name":"formio-sfds","version":"0.0.0-6f9f4e2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"5d490904ae260bb038d16027b8f4c0a7127e5735","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-6f9f4e2","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-6ixiGpFZq0nQHlX92ph1446wR7p/QtYQJ2IOKOW/yRJmL4dbQnQWP4gU3Xj7rUfsch1ZZOIZQeI+bHC0TrroXQ==","shasum":"c4564343b9ebe60696fac530542dd5e6b9717fa3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-6f9f4e2.tgz","fileCount":285,"unpackedSize":1091041,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgv+qHCRA9TVsSAnZWagAAzwYP/RzUqXn2UO9K4FlnXGCh\nMLh2YOIu7oswgJ2+NE52NEY1ruZe9msP7kuXnQ4FtHTACsF0E3ORHslb139d\n1SDuC2LEm3wKA9Ed1pBQeiI+FpVtpf7RjKLBvC4DFqSNlsTMBufoxs+zaA1V\nUL8A1esUedqlreO2XTZQ5ooJEOmiPYLZRi3H8ao52rlzr9fL8vEKs0/eX8T/\no00rwUdGMomozuiJvrbF/JG8u2ryJSUENFnknpy3HNNMOVsh1P3Vihxrnm09\ngLESZpe0224se7ZtQYTTsZgaMULHEUao84dO5sn3kSlSJbPc566jzM0W9yB+\neUIRw2ihT9ESRh4qfQoxWrtqxqWIhizSCNJcno/yDLszHiy+7Pqcw57ox2rM\nx9Jp20XnbhdlK0t1xUEp42Hr6l9fcvGH/iegLzngfEtGSTDVAvBtms8n5koM\nk/5MbHv3E9ofEE8Azy3RAwILvRazzTwAHpQLZfrmINqKdKnapMID2UnewS/L\npYvn2OCEMVjA/7cT0YeVQ7RIaAzMqgQ9H2PlkGwPJy3eoTq79lYNcmgTi1Ya\neoW8F9K+/3cfcQMBH5TuZV4yg+ufac5s/ACbuigAUFHCd/94eykBXMU0usMj\n/LyhQuawdGG7vs+Rg/MJ0gdYZ7y0K4xIZi8+ZzWJqB58LX/Yh0ooJHDmCocO\nU7xi\r\n=s8ug\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCF/jI3sQXGEYwm1RU1IkG1TdOC8oQadQCPjV+YiP5PPgIhAMQPAcFOU4Iyx0rhErgFPBdtORYw5pl6Rw9StlhrzArs"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-6f9f4e2_1623190151684_0.38575469435615894"},"_hasShrinkwrap":false},"0.0.0-1439caf":{"name":"formio-sfds","version":"0.0.0-1439caf","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/{common,formio-sfds}.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^0.0.0-da6c354","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"440ae9174cc38f0d869e63ebbaee9be2592caa0c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1439caf","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-E5m8YNqbH8FUdy+rO6ysJdLR2i1I3ShcZkfIRVMnZA4qzhn/EvNyLfaG5RdgeJGSNN+p1ehNPoo+uuNLPBh6EA==","shasum":"0f8902d0be453c2dec50347a56663e9110ab6a7a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1439caf.tgz","fileCount":285,"unpackedSize":1089544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgx/BuCRA9TVsSAnZWagAAzFkP/1Wthci0YzmV6VfOSQmv\nX29F+9UGynV/PV7cwCujcnXUevTxmHMpPQlbDiYvmcAepgS22fQmiOGEp0l1\nI4hmCSxpb+DRxtXRxjOwWZ46VbM7825IuIvemYJYyk1wCQACCfWkeWpR2Aba\nHxPyU5mHNaVga0qPB5tSB7Ies+TtGDAwM6ElDp1p5sOrafCQmqRj6mu12IJx\ntQc/hsJ4B8jQaOhHQexMWgomDnQgUdqui2WtEL/ADxcblBp4o+Yios9MbaTZ\nLoChqoKgDC+uYOumYsOaHjZr1cQNtBZYidzt5ddTBMcbl0g0J8SjV4595Ibo\nCQ1Eq4gwYQVn9v+8njlfx2ibqa7l673OMegeMEele5fogXCQpZkEjb2xTgU4\nDgZKs7Tnazx21pDEUchJMCX+pNuKE91aZJi8DGvgZqbaMfaBigVf1lk4KQWD\nsegYBmPkOrK4PsYSOsuC6hf8gmi0qZaj1HVMYGUth5vWOCq7NXl6pNjgf3O1\n9jAe68dDVRsjM3YE6hMOJCz9cKr+zoHv35SdQKibQSDBza8BArYetv2d6dIx\nD/axm3hCZgjn1/+nOiTXLEA32TLOrhCdPC5grOSIQre0sSp5hVOF0/nlRFUF\n3U0opA9NGl5U3sSEkApjgv9WkojF8sS+HfoLlCo4uvvEmnGZiMldwDsaDd3a\n1blH\r\n=/jAr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE3Dy3aiIyzK6mQwX8QASkBxuV0NkxWYHf3s1H/wWMvpAiBalcQ7+xGqhy2Yz0yaVT7SeZqNEQ9k7zkZ7EbPmt/gSA=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1439caf_1623715950492_0.056136824815321784"},"_hasShrinkwrap":false},"0.0.0-9c39b83":{"name":"formio-sfds","version":"0.0.0-9c39b83","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a6cd3fbd7d76a794854603e84d5808424c7b96af","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9c39b83","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-jDhBXz/vgyfoTb0ZHQKAqQUGWU/Iu5swjnWHvTVTgPjSRzinAHbfEFmnEJGrJQs90PD5Wv4mFUIHcWbk90beqQ==","shasum":"3d5af53c1f0885da2ffeb0cbcabe7a63f11e852c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9c39b83.tgz","fileCount":283,"unpackedSize":1085612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg58nHCRA9TVsSAnZWagAA8SIP/jMzE3ZCUkea77Fk+LX4\nf/nfSKdE0wiGXeXcKN754IH+gH03FdBPj0HEkQLEh/uY2v2k4H+jaHr4sVn2\n8aWj2Tkgz/EGiO26+gU97ycLM8nQJ3/LznFc34nY3ok/2Z6UIn+ux8LeOAgM\nMmaQ4uDbGzDGVm6MKG9ouhZdaN5kEHzEt5SEb+o64SPkZUf9ru90dFMee4h5\nzwih0PyDb86eynXTQcC8fq6AohnwOqNGkYUuxEze7kfIaTIviynjVniZjWgl\noPjL4RVKgiQffQrTPW6TLD+A+0/yPkc7Hbuf/02ji9+/QU/1UUfVQTlM13yn\nT/dFWpudGczg4N+NEKEFIqY3IBJM0x35x0zuduXfEWdgXU7t5f//W8BVH3wO\nAnhnGJQHG+Z17bgZd+qPSEq7hLxoSE7ezNJDXK/z1fohoqcOCwfLaCKclYu2\nqWVXgsp1xr57uxjAm6k1ho3tQqfBRZZY41imqDVm2iLOggoRApocSJZuvHhK\ntJ7Mw14KSXohybTzV1Cde0gn2AVvLkpShZjbKaj1OEHzIaWRxJsolEIlIyds\nZGhIJX1tTUA2/Vgx7xwLfw7+cJOL5wmvDJyN28wP9Y0LEuimfbLGapHTeKK8\ny8eCtClwKdr/TGFbxSUNLwQ6MpH7bTepBkKjm84iHO2p060+j7bT4TYY06U5\nbg4s\r\n=0yKh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmxwluZxx721N+gtj8yJ81vIYtdhvuXFVw4z0N8qGfFwIhAIl8o32jz7YAsctV5uZci9zYGd4fGsoy7EKvkkUkdOnE"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9c39b83_1625803207270_0.3393649371593066"},"_hasShrinkwrap":false},"0.0.0-1025b45":{"name":"formio-sfds","version":"0.0.0-1025b45","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"e686ebca60068af0f91748e4f5e8e7712e20fe74","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1025b45","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-InuRo+4u+G7rdwcMRlPvA9Ejjr66iEGOqv1rzMD2kC29Wkd1M/6Vd9VbIYdruucUsAFz+RPYiWzx6YnAAVtWRQ==","shasum":"e46aaf87164ba0d2244d62880d26b9d757e7baa8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1025b45.tgz","fileCount":283,"unpackedSize":1088132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg59HACRA9TVsSAnZWagAAhcoP/jmM5mEKX7ciwMkNtlc5\nSedPqUb81/yynj7xz7obMhS4S9m7+s8RkyXsLk4OCXnYFoadM1El0dP9G6MG\nmFW1XgdH1BjJvk9qP2nitZn6eRphoCxGIFU754j7m2VZcgMwqFMTCKC3Y9WB\nRaUcDk8Dm8vOWQm6c137hg5lU3KnvJuIeaunZD1fbqif7/xY24+CS/K3rffs\nhCN5ppwmuC5PreCa9kj8UPqACKbvQ5I9JTfePK+x6HIWSpHrJy8FOdURp3in\nX5hj50A9mHWV5e0F9r3DI9nctTVm4fOmbEOH//sjWh5u0wGLClaqg37m8KVe\n1p2gVvsM+In4h+fcCkhZPzRn94D6frwy9mMiDKxXJHI2+LdeoEw2+OM3mySF\navY5yAHOI9Y6u0JW0S05uaa5m65ZVadkvSowO6p8QMD9GMvrL/JCFxAiOnYC\nrk9Munj2ExkXZTWvzqBVDljHkV82qJVxOed0FYJr66FZSWga1rHmF7RCYRFv\nPh8B/j4+UD/wD5Oyz+IQcJO6FqfRVKDr+2iSHtUDM/zU1Q7eQfrsAQxDJDju\nK/WvJ25q7vAWDpJ+lmgSjVEH7ZicVmqz7Z+D33FagDCVXItH2iZO1vz8kzEb\nZyA7+LHtxLp+mVbYAWM8fTJOOIvELaBM3vzGRqo3Pid2qE5ppHrMEGZ6R9KA\nlsz2\r\n=3+x4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaCJorc1EewoohhgQR5qx5YY88stFmY+EjpRJoGFD1NQIhAJjYGgFv02E7YR1kzCcyBbObh2yAJLZjHU9SMHhjXyji"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1025b45_1625805248076_0.17676065341687752"},"_hasShrinkwrap":false},"0.0.0-00dc8b7":{"name":"formio-sfds","version":"0.0.0-00dc8b7","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b3015e0e1460e9ed33482186c74ddce6e7c4094f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-00dc8b7","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-WznkTSoHYjpuzVcJe2vZ+Pwzn0Bvrmx3MVujQs1zm+4OnT1egeNckeF4fwFUYsDPlIzwHZNUjCRm2NH1uKyIhg==","shasum":"c45000c731d6a7ba32d3a943098d23c2ba347bf4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-00dc8b7.tgz","fileCount":283,"unpackedSize":1087603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg59SzCRA9TVsSAnZWagAAXYsQAIpkUldg8m1+Xh8oSG2k\ncn1VUSeE3+4g4htQKTeF/EPcVnYVzHXAvvObjbCE3PEwmQxAfer9C5uS75MJ\ny0YekleIqInaVEcss4psmAPDK8+UtF8Oj3Ov4fcwC6HkbKzPQXCwDZMBapUl\n9dnwaW83omVQfaDx/IbNyIIRFGRA5DPGpyt4SAoy7ATQPBL7FzbXQuZhQZqa\nXrxL0fzLLggzJDNbcbCTmhuJO3V6P/a8NhqEhLwwteHoiedPTwnX7cGtOOqz\nOj66H5uFZQhIJVABBInCjWlnLqkn/R/d8ghBeYu7pmWBGVkznrk9BkA3cnjb\now8lZQqFw2h4FcQK4OIFYZE1jdl+IoIGd+WXJho/MvWSsSbl7Zr4bPXHAXG+\ny2ru+A4xyWFw04Qro77jG2kz5CE1HKVhTEjFBf+Z4i9USej80jN/V0TVkI9J\nF+4xHVF/ij5MwuvSYOQuMFC6PEFh0pg3Hallh9TDmKBBKcAQvecdc+/v0diI\nNBYfZt9Svz4T2mbEM87xjt+AKLf1/jWO0q24I9wIhRsCIkFag+TvkeFtB43W\ns0oAZYs7+Qm/hhZbcbd65FwJDdZt48/7E/8t+wbQsVbGGbVBgJE0M+UKx6bT\nJ8tl1DW+ZcwuU15uHRnYWkWI8nRw3e1U8aM3G7PLgEMaynSL4wioiuTWiqNT\nbv0A\r\n=lLo/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIElSmiAl6or4NsIKi0nd3THotYyivSus8f2TrdfO3aylAiA8dsYM1ms4I6qu0v0GUHA663dNEv+TP+FYdXu/W+/WTw=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-00dc8b7_1625806002518_0.18868982371655374"},"_hasShrinkwrap":false},"0.0.0-dd29956":{"name":"formio-sfds","version":"0.0.0-dd29956","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"261bef28dacd612bf5cff27c93994d5fd63019ee","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-dd29956","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-spAvHKbqDsgbB3hRO0yQlen8b9TnuEQ3d3meOvg7dsGxA3kFFM/LPMJHqHo+ElAHfZcCMAH5fZQzTzXt5zRTxQ==","shasum":"e534f9585b117a5f09147468cd7fd0cde4c5efef","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-dd29956.tgz","fileCount":283,"unpackedSize":1088938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6IVxCRA9TVsSAnZWagAALB4QAJNV4ZEaHk4ATb6XfNyN\n/ShezJLJGdZ23lmXDdmUXXljxy2pZmOtSf8GRUUSrlH1dgjh3DN+AC8+vg1p\nvQZgvd/MnfsN6d8AZ6GOOWVtmMebcqrsoQauvTfW9gScy0AhP7oixyiLUAoZ\nchM/pwq9WBcah3/CHIsvVR/DoORep7g6nTLBKRioOlIyT8ToqzjOh27zIovz\nmgs501V1y/NaXX/B2013c49Y9vh1090CA5Fn0aOw7FlOQjsGQNzKxTJfKVhj\nlAIqqTMyix6kIDEh3h7/AONca6mslLFDh28smgvuIKMarAv3eYJNHUE5U8zM\n59MyqQ3jntdUfXkrVI7OWdyXoc6omSpEv2BwdSST4ZZO6sXyYC7a9I6Q/bIQ\njW5tn5drcByZydxAymunWRH08gTiyTvYydwyE2KPNc2DxIsw19ZA4z1POQst\nmm0VHM6UD4gp+4p7mdTtEXA28jK9+RKPAZ0ZRX8ELS+tZraTofV/o7lW6l+z\n5ELaKZuGysSlrc+C5fM97zwcxWWwQa1OoNm3Y/DB9/P9gxHGGkBfYYrh0M8B\nNcyC7f6UE/mWIK5tYxQx46nGKQIe2tymo8lZoSP9CIGjITDjOGHJwcec0pFB\n7rq0thv21+D2VffLd+C6lCEnsYqeZehBAZLrwjL3ANpB7M6CUQ5+eJ15Iq8I\nILtn\r\n=Xu9P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSyOfYYRrvIIFLOHQO6C2EXYaMjTUaXx4mtSide910tAIhAPKKtXYAlcvKNm+YoF4YFnHlTxZexWxqIsc37dmLaYjN"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-dd29956_1625851249016_0.8904722885647551"},"_hasShrinkwrap":false},"9.0.0":{"name":"formio-sfds","version":"9.0.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"55dda551fc1c49d13f2d3897a083e12ad9c8936a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.0.0","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-cFqSVIUYIwZWEbzsoVbiecR/jFICrM5PJ8mbdchVMsucfilu1W5NkfOa+CsuAT/xBMkilng/xgPEaLvv07v8Bw==","shasum":"05c2687f98de61068965c97c845b616a02ba7695","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.0.0.tgz","fileCount":283,"unpackedSize":1088930,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6LLwCRA9TVsSAnZWagAA17AP/R8+gExEaOhN2HnBh9ck\ngrK9Fl/GsG/O61WVFY6vy3eGRni9GDLk1smzJf6t7yvW7L3TiO9ffz+u2VTF\nWFTpaeBrHEzc05ZF5YaJYyJrH07qk4UIJiNno/HbMWSDB4CclIHw1FU58DEo\nAqNlFTPjSiLDVQrH7czgRzS6zrakvj0C6PEdBW9jFwbG/V3zWEMPFgyZLJ5b\n/b8ze7I0W/BBP0hfwqAX8oy3T0CYI8+w6axvm18FnHk0UFwEXcUzJa63IxtN\nBiOLwED1WearPf2TGPIsHI/ht6/kT1kQISwT5yPYUGFrfPAx/qNVACDBlBZa\nIXqoqJ1FqcvGUOEa43fHWiDVu97Ba4uuKaeBobgzN4wA1zJFNW1dC2kACv9R\nedqv5ec/lRwgBkq9P6Js53NVqHWarTAtg3xADh0SJhKmr0h1qwDay1c+jdkF\nUds3BsZADHfdKe+Y6d6s9qRUym6RBnhsoYAWiaMBj0NqF4gMhuhFmCDeBPIK\nuFilUXqF6ZQnQaJxONwCOLQnBlbOHbJuzSQ6/ylh65ceWFb6dIuaI1xpoepv\noQ+7Xlo3qttIt+e57WV240HcmvU8lAW6VT2TH9XlxKH+10bs4SZZQ/KZSI9p\nDzUG7ustp5I6R/eilS7ptCNh4xCBdafWcotux9yjIrpbjXh9GrIN970QEJ5O\n6kyN\r\n=HsjO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9iQB/ONCWgPuvclothSnXFHquGGA77ypWPWp7mJPErAIgIP/jqjLpO4+81sJAtWq5NoMxncKRuESIH3HAqwHsgms="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.0.0_1625862896098_0.77463189657316"},"_hasShrinkwrap":false},"0.0.0-8743689":{"name":"formio-sfds","version":"0.0.0-8743689","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b0432d1ee1b6b4ba32956331f80846ad738c5275","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8743689","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-8mPHaPlvM773KUzdG0YLTWCuU3SeW+tiCTcnL7W0sDb/IvxGO3aHCJMBNoTqQXDWx8Yx2zWygZm87Ek+/EHMsQ==","shasum":"1c57b0ce27d046f6f58c0c77b6fc00c7b90bb325","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8743689.tgz","fileCount":283,"unpackedSize":1088461,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6Lf5CRA9TVsSAnZWagAAaqgP/09RUarWFT7FNPg2f1b+\nSlu0hevVriYfSi6DdzwJ7Caqh8q8mnITqHepEVTMz7hOnjnvXXERzakLQovu\nRBCm4y5x4jQZKaV3/XdG37WDsQ0qHpFjDPcLhFMqW6E20t8AQDW5OMifcfOl\nzV1wq8TvU4rXOnbfqb3bQOY+1oxhwYdcZAUB2rTvdI1njyPkghv03tvcJfc/\nEVnYL5Z9EpkREal0xYib6iTYPZHWBhVn04td+DM4wzC2yYP6H51Y0ozh58Gr\nxOGkHS8DilJzotEq9jo4pm50qq9osVmRdn+qQFdWL8iorApwxqFCayq4GcBb\neC5UMQmCdE6Nw0NE2Lqws8q13wiE1izeO9CGc7XwOzZhCwcSQ9vmSGQo+z2a\nT0waWeTGeIrJ+k2UcOT3h30PGYscSwSPZHGxtAxNXL7fLk0WRVo5bZgUPKlD\ngrKLweR3dJZDH8DPuxLq3ANdGx6lnhh4B7gKpYLBmACpyC2xr82aAI8AhMzn\n/3761w6LpiQmJGWhAUJJixZgffjKL3wVJj8mgaT5kasQe+NkVqkilcbkWA6w\n8i2Lj9UxpHV5/bCmZ/EyaJjDh0CuPFyZJupDk73zO86ImdKJhjgutNEUsf9C\neV2Hr1Qpdd7Vida423nalGVRTF91ZSb3DWq6Uriia0Dz58Vkgt1/6/8rWq3q\ngZXt\r\n=uWkc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDU1XfSpZe8Hgbk9v+UnI+YM1p1xGM7GfBPqnJQ8UKZ+gIhALHQb4edkkwfWZunO6WdN7PTnOSj0fN+CDhSCjAJPIat"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8743689_1625864184955_0.9410356726342388"},"_hasShrinkwrap":false},"9.1.0-rc.7fec871":{"name":"formio-sfds","version":"9.1.0-rc.7fec871","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"3171291bc88270ca55032a1f3f79f800a2f32af6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.1.0-rc.7fec871","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-Q014DRBzRrTvm2wLh42DoURAciU/oSgFwqG+Npy4J6w4NEUYgYRTA1Gze9qMIWctiPQBe+XoVh8w0yrsjwA9Hw==","shasum":"002846a198806983e02a7401954893069131ef22","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.1.0-rc.7fec871.tgz","fileCount":283,"unpackedSize":1090593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6LgHCRA9TVsSAnZWagAAuSYP/1xhhzkW8sKPqgSimqsh\ns7D4YgZ+Yh95rwmX3INdH6piyg6TtCO02zEiLNmkcP5Rr1JlE/ZP1SMlIEai\nGKgtyIpewiK+YZY3w3ZWgLPv+V5fSBYX5tWKOozgdiM8NEU/uJyemD0KOu4T\nBAB36YHq3eNNd43UWumIoFWCf/rKvW6NPGJAebdWIWl/tIVWxdNTmO0+pJTt\nqL0Bomh5ntzy032gu0GcoGNB7n9LCWcFKYiw39woTk/pPOKsQQjYZFC5RehM\n6fvtehkUJSTOmfWizIDpUBMdt8U+UARHfZJa57KzZFDhfVnN5A+je23OOhp+\nRcxKoXJlqWNvCcvVnHL9WJ+Gl9iPvPsETkR3HnXT6NbY/BZCJSydWApD9IHq\nTE97g7WGlpDrbw3/INCoypYw8CxIFV8ulMxK1eOwUDiGlPeZlCdmtHi3ckxu\nfafe6D87CrOTgdU4oSjsLYN117yianM7qyFKem9GBELfEWSEDZ6F9VwppbPQ\nabUQvAWmxxmSVvy7HeOdYJth5LZPfF6iAunuW+Q8DcfzJ2D/xKNXgaX6mNps\n7LnInx082bsp6/xYM9TTrSKDhgpnA26dyA6Pq5TySXZe9C0KD1N3FByxKVFL\n2y48QYOTSzDf/upoeDvGklyJOn++nxifA9y5Kd+7JqUISFP/c9esYH6VNyvk\n1JE+\r\n=4F+v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEHbHf079yL1/E56tYQ88lqFXgyCylx9RjGwOZPdCVtZAiEAtMTE29QGU4EpPTfFe7X6chx5FgTNxIK75X/nKQuKvn0="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.1.0-rc.7fec871_1625864199123_0.05963380667092966"},"_hasShrinkwrap":false},"0.0.0-1237d28":{"name":"formio-sfds","version":"0.0.0-1237d28","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"16061731262431a000e1cd76c265e36c8eb1e6c7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1237d28","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-MmvblpskQsiPgFh/fAtwnAfW344O6AAiVMabe1dY4VDi2zeetbqarQl4KGPhwi6eTyZaB08ByCZ2oR8818QCEQ==","shasum":"8d902d2a96639045810ca367be4e7427a38399d1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1237d28.tgz","fileCount":283,"unpackedSize":1088922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6MC7CRA9TVsSAnZWagAAId0QAIU7JB3+qbsbtaMbddIv\nUILiFnHX6up6j4Jexd7d2dDM0ZNWEXUgmShqKd105mByVDe/QSBNl1dk6vWy\nLgEIDZEcA+yLTjcDmXE1o1McqbIj8qeZbl7QviTO7O5aNlrOpY+37lBbU0Zu\naH0gtJXLbBQdPGiyX/iDY7i/BLVhJgA45kRRp/B/qtSQiNoT7w+JSNeroN03\nIX1ep9KoN14aZK1EvqNoLUDzkAASBVRxD3bgLKE9k7HYi86e1htMgrsBM9Bq\nMC0ZHjywqnR791XxB15i77LIrTVoZSvyir2xb/6oseb3fqv/8e0D2fd91ccl\nM7MwcpKOb/LBnBRcZBDrASlKwIbvisH2QrnMRk7t1F9gy4shRNKCydiAVgXD\nGjYQge1Coa8StXarY2E+QD/M1boDTWDz3o5hvst0BjHEMZ4SfQtr9mfF2SoL\nKTkrwtWPJtJO5EyPpgr1UBkNSPIGEuxuCoaHrognFIEfhRt/tTO8bhqehE5j\nDzWDy6i9nwZbKH5+YAQbqSD1W/tbHB7m5qSJSw6RSbx+1cbl38+AMIMSfqxy\nKIHX2P74+9UMgDoxi69Px6kV57rA6kZzsIRDKBmHKpYC458pnhNx/VAR01FZ\nYVCmN2izdqfDZjoo5ATYHOiTvgZ7YDMiYamvSQ+Qiwf1P0ZYY6wIXRBVurmX\nKIXg\r\n=+e4n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGYCHTH8xHanFhX4NfJJLzmnmO9BmMkjTZr2DbnmUdj2AiEA5ffG82tTvrwilYAii3KljDpa7RQPHcgPRna2FhazdQk="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1237d28_1625866426790_0.6583349514324766"},"_hasShrinkwrap":false},"0.0.0-4aec697":{"name":"formio-sfds","version":"0.0.0-4aec697","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss -o dist/formio-sfds.css","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w src/scss -w '*.config.js' -- npm run build-css","watch-js":"watchy -w src -w '*.config.js' -- rollup -c","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/preset-react":"^7.14.5","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","vhtml":"^2.2.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"159e82ff06d79b2b03667206ed6cd1e6887b5727","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4aec697","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-v/5hFEATpYSqzgpttd5r6MNsAOdRTBO6siTj/PsMGxZZY/q7xJQgcrl3Xs/6Do3ATt5j1G0NHQf59es0i4DQHQ==","shasum":"5023860cddaa846211f1d5a3efbcbad1a9453913","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4aec697.tgz","fileCount":284,"unpackedSize":1091904,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6McmCRA9TVsSAnZWagAAjBsP/RANPdC+WwmXEvhlZWLH\nWVX91mptsx8BAAUFl8AmLbIav9AmmNqnX1AWyeDJWHruk12IkDP0oUaQV7TO\n97dsIQjiR0/4ZoG1KAUXDPS/ZRQGFqceoXz8LSTAqd0VffdRR38wljojYVGZ\nEcxF3UUaWQhfILC8ZFZNdGkZgaI+bN3UvZuZfNOMkJGIz1GZQoePqrXDqpwo\ngSPKZnXyZDwo5yS+pLP+ec0CvlQt9OT+TI4DINMfoo8BFAokIKJ5waggNkq9\nomJlNK2ifkNWAZuiRfjpiTM+iROb9UGytFE4nDoefz3cFyXsEx5RzOIu3QS9\n5IEU/oRViMHtUdxMOlBCa8dvfEQTv9QS45SKrSpXKdvs1Fy2rQnE+Jy7dvf3\nh+nOOU1RHjjsbN78YhFyv2FSPLVBfu98sS6teOUVD1iN+3QBoaYpoySohCx3\nHqxatcboccA0rsipIZr/jPvQ0wpxg/6nBjIPugEmFI1UQ4ENY4lezuqerZjP\ntDN5mtPfPI87zGZT2pme4shzM3Y3cEULVp6BWSc0HUQ3n7+z3BkoKPS0BXIK\nV0UqE2tXJ+BBD3rZClwZDMkJ20Wkfm04njzqb9BUg1YzkLuRxIJt3LqPBuf9\n2bUUjLnfk+G77PY+G3utgCbghO9muS2S7sIZhLDsEwChUSQ8oVIAO8kJT+al\nu8P2\r\n=BYty\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCm35eW4Mw9Vahq2aiHqUKxAkF6cWGtmaK/y+XnhRwV/AIhAMQD+3crsLNxHhDDejZySO4xRetsQgFSIBMdydQI86aV"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4aec697_1625868069848_0.4312395727338394"},"_hasShrinkwrap":false},"0.0.0-edd7e0a":{"name":"formio-sfds","version":"0.0.0-edd7e0a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"62955cc5533a2b348edfbc3f14ebde1ccb6f63cb","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-edd7e0a","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-Xofj/tBg3BswNKIl+TvJ/biOhAx5tCKJrEFg9w5OfyVmm/fz+IiSZBoszbufM+5IGR90ILyRdybe2qSXjjqqmg==","shasum":"ed6051fb45377c2995efc213d587ca5bc2d0fbb8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-edd7e0a.tgz","fileCount":283,"unpackedSize":1088924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6OOmCRA9TVsSAnZWagAABEYP+QH+DgDn/LBIdxb1Vt+t\nrkKCE5IX927pKv8si3Wtkq/jv7jVXtB8QxxbAgZ6fp2yAA3T1SMgSjmV4pFL\n+XGAEHXe0zQkqmK66gIUjtGj5eChhe9rCASmL/yJXiIPywtUIHqQ0l8vup6t\n6kI9FjtgcDPK52h7Y6lOId/tb/vBVrvXZYcgpuIEQHgXum5qnBAJMUCv3NTo\ngqq+gB8sv941D+SIRIXvydS72WTejt9B7wfCnRqnAPN6TTfDWzkbnPktFGM5\nJtQDjbd8F/br3NuFj15KL8wOhavFr+a+k/W07dBKhVCUlU1NRbLhCbMd8kxd\ndYXo7CB8jRkzFQGbmIt1YwQmEJJ6Mh3Tj65ccbDGhzA5rU7KYDgrrWe+ag0E\noRIlgBbGB9IefDBsFjtQR6cTp8CBXpdGCdEUp6bIGczubno+JBu9xvmhUA/Z\nirLkNv8c09FNHIFgM6V9ejkhhC8Bu6MGCwQodk+xyO4K/ho+u2PIGzf+sXt9\nGGqviXnnqS8vot8CuJDPRMRPwKpL+7RfFc2emuFSdnFHSD8hFVptl+ojWPKJ\nRmzfPxWXi14fvwAugqDg/8lSL9vkdQKpF/Usvig3ZZBzqoqkOw0+3fNRTDI6\nPozHUvTRGOtTexG/nzElEMCVN1Uf1dIkRv3hr71HopfjA98n4YPtAxKqWetD\nP2SS\r\n=xXN6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC8y4JL582GuCkW2x1CT7SfvD3V0otz1eKLD/kKJ3baKAiEAsrqiSU3wKbGPN9qezQl2Q4ybkg0N46SQJti8/TZDJaE="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-edd7e0a_1625875365689_0.8117531163304799"},"_hasShrinkwrap":false},"9.1.0-rc.0a23443":{"name":"formio-sfds","version":"9.1.0-rc.0a23443","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"bbb11f83e1b4d39a19a216197a99d6a2b9c7d8ab","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.1.0-rc.0a23443","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-+69+ZMjlToWojUFLFhNEzu/dVOxwjngOZLFpvnbSXyaftXtd1zWggk2CkPM+q+C1DwTpLBm5sOeFgaRZP2FExw==","shasum":"8e7c8d61afd9d9f56faf0823978c1c788376a10d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.1.0-rc.0a23443.tgz","fileCount":283,"unpackedSize":1090116,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6ORMCRA9TVsSAnZWagAAUdIP/jevzr/HibVWo39voNLm\nVO+LXyDMwZcGrQ4dcY7SKqDtOsIVhNqarwCadDuCXbnpZZVnpLRQjMcB/9hP\npDbZine3yEBAehnVYTJGl6w6OdwCQRK9qTG+PzHtzunjoq3Rw4vQHdNZQJba\nwBDciGBdoUNwZN0pPax/8caIK0PEpv+xBAXkjQP4qM/rC6O+CmPCYNTpwI5Q\ny8kbC4VDaQIwMrCu3fd/JUg6VbrYAD1NoE2yBKN4i/vZhmENn4i7GFAqUT73\n5JR+0UMYGuC+S1VqECljZip+JG38IMH8btGQzJRLAtH7SL2VpoV9Xd2zkzLH\npJxQpYFIrj2ZNFmmIXmDVURCIr/4UDRtKHON6Ga/nazFRCytCSbPNqJfEAX6\nPXo17vKqB9GdOHnumTDC45evuqBNke5sor1IgP1JzYz4lw/ZwT1TM5/DQfML\njrVvlI7laD4WtnSbv0I0Q3cENckD78x5z2mTRdB6ImoCyXl6fxzRpQ8UKnkL\nYHQRuttZCz1atd8w9k65vYLMZITGSAJ/3L8EYFSWVZ27c9PE95zt1nnbUSkM\nQ+iz2yD11xVJwgG50RI5QN1qYSo5Ql24c75ujQ23zuUstGysuDpmwj1nnaTw\n9/LtR3lrmuuh5gqWy2QNaBuhHsF+DeaL5Vr/STZ1BhOmAhl+n+V7Klxu+sk4\n8U52\r\n=oEy/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHKgsOJa+7Zj3nRYnlUqFj1v6E5O9VBRe3XG0bURPOYcAiACZPTthJF5kzcc29v9OnJlVYohB/feI8S+6xYV/DtbkA=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.1.0-rc.0a23443_1625875531902_0.3312463774559664"},"_hasShrinkwrap":false},"9.1.0-rc.c8eb513":{"name":"formio-sfds","version":"9.1.0-rc.c8eb513","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"aaa7bc6dec9b94f6a114cc645515554ec70cdd88","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.1.0-rc.c8eb513","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-JonWDVwa4apTUmyx5hjEUs+HOg6K97lZPz8bgUFzOgDU1DndKPEoFQTMUzqY3XnXKQBtVQJZhDsOoDf0ayVakQ==","shasum":"f2ef930f840a0fa6710f9745f0a0fbd2fb2579d8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.1.0-rc.c8eb513.tgz","fileCount":283,"unpackedSize":1090102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7L4lCRA9TVsSAnZWagAAaA8P/2eUYXX7l8PM+UVQfQ4x\nHzavW/wqw/JLcLXjeoOvwnPl5CmpDtY7cdvU4rF4dwCpDuTiARp7do56EaPw\nnBPI6hbYQul3J1bd5ig9k2XSzjbY5nIEqGL1SPxCilbpboecbHDmyQ3I1iiD\np56su5kcq0rKusmr0zMe38ima89x0tmQOZOD/2gUNJZjp6iz4qOLHOfZ0vgq\nnsvo/GXuRILkFs6UuBadZ8T0VaQIlSiK+el6IoUPCFcXAF8ieM1P4quEjetD\n//SjP6OqyEBCZ7s5ZrJkNcQWynk+j84cSaaM/RW8CUH7eGpq7InphJjI3Aq0\nel1T0BRkYj0B0U2ykJd30wAgxxPumYhPwaxy1l1Uwf26W/fU1hrZ5M3hbPCc\nGWD1ANSyuI3LL3aT4C2vjDpBzJIBMcdRRVOkUgAq9UVmPcIlBg0ZvtezdV62\ne1ubUJlpKgfpXBCOwMvmaLt1hBtC5cSlV/o3XkXQkBESvIrUAhRiV60C6hX6\nCgmVbJR2U/cZUQEfYm8qoltnmIfN/FqPnFAnlncSAcxMA2RYPD40rxX8eOFV\nK0yUGclzyw9cXoo0cSmSCFU6er/pSAheXYzl/XJkNY9WWnAyGW0AZV2/Xazc\nSocwLPJ653GI2mqgoKgoFp0juUKjvfOipH0Pmi8P1tUpzL3maLaMUuLxOuFr\nHnb5\r\n=5qyG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdyxkEsDOSnxe+cNYCNxll58zfIiD4B3i9WWkNgXQQKQIhAPW/334JGAPmauzU5877KTV44qUv9/8OKiYkgFPENo6K"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.1.0-rc.c8eb513_1626127909119_0.0016516633687719828"},"_hasShrinkwrap":false},"0.0.0-70a6a1b":{"name":"formio-sfds","version":"0.0.0-70a6a1b","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss -o dist/formio-sfds.css","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w src/scss -w '*.config.js' -- npm run build-css","watch-js":"watchy -w src -w '*.config.js' -- rollup -c","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/preset-react":"^7.14.5","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","vhtml":"^2.2.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8931302f0e075a82aa4c51b1a75496b432392fe2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-70a6a1b","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-ydKYRMRj9iu/vTkvRbZtfHL8jg1x5T25jkLRVwWZ2h+8/ILVV62gMp3LRRQ5XoFf3wfx2DyhdkqnPEJmFxCdpA==","shasum":"5865a52180ca7259c731eb1d001f1eb7d59b0686","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-70a6a1b.tgz","fileCount":285,"unpackedSize":1101269,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7M+hCRA9TVsSAnZWagAAUXoP/Rx+u/yPaJTbzVQxwsLC\nKJLOcwWOCQMcIT7klyx9GUQShpbnYwAlm/j8DRYh3yUISiLky8eOq5NbMtdz\nNbMXZH4rgg7CFWHu7AtVHRqgfwg7bx0//IxiuVa9h3TUihn4Z7VgjtNlw9t8\nA5Xvk8mE1T4s3njZvso5pdSV0DVJVca2zRzJFqmQJYOk8E5dw7lhtxBmUi2S\nd/BRIEH+3/7we5Kg5kha9ND/y5HArTWPPnG7HoBZQGNx3qpnDVSAvedNetVZ\nTrWmp+Zru96kd4hbIiKL25de7YcC+EIQ3Nn13PLs7h9rOCftdgTolFX5XA/k\nlUb3N/BcVo7kbSgZP1hUEfXeWo11IKYSMr15b5HErY2N9SogB++qURg0L6Vm\ndGuKO3RUa7c7CRRdypGfB1XvUwL0xSUCz6giLHwS5OWfW/PuaTxXvO4TQZg4\nZGN6M9W/yzVrSWQJPjFGoPfawd2lkiTxxt4gjdEOGLu+tACd6omY+ZTKQIfZ\nkIFFLlBam/RIy62rn1Xb//UZBAZqMPvJw7FeCpLmmWPGkkrJ4w/Lq+ONbgWr\njLfbAfARXb0Wm3V0c5fICyzc2py//9y8Lx8LLzGHzR1X8qoztv83YMgXW8jf\nHCgSbAcnIJP24/icZloZrlxolGqr7ofZgyotLhzUYRlc16G10FbTdoNBYDsM\n+UQS\r\n=OUv4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH4RC6d1pDz7DNfYpRxCBs//z+n9mUDxfpoBb+6A7kOEAiEAsF9Vu7Hsp4ZZ9s/ej3uLKWtZwV8volPixfh6w3BewME="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-70a6a1b_1626132384680_0.9576935666894655"},"_hasShrinkwrap":false},"9.1.0":{"name":"formio-sfds","version":"9.1.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"837cf6993b0a96f9ac53487f0356bf3f2667f73a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.1.0","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-xEbJ4OqNGRjoY3ESbADHtkOqCyXFUUKvoxtNV9gsCOrOabUi3hLOCYTO1jekZcds6RIav2lB6uM2ozymQlYQqA==","shasum":"c1d7e7c67e5bee5a20f0266c64e87526e80dd050","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.1.0.tgz","fileCount":283,"unpackedSize":1090091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg716tCRA9TVsSAnZWagAAZtQP+gLShFhHl9wAp5hpwWgq\n9pC1QLUaHBLc02rxo440Uf1rBRybr7DUQzYQrQjPFIPE+S4/y6IC2VY7sucS\nFvNbHIByz6mR2DtxeoRPezn2EdFPhFpOUSN1+cwZuq5c12t7E6bN6HbfEH73\nJ2TFI84QQ4rkFlB1Ab3Fbqe3zq+LNFps/1ASLV59yR2h0mO0+KmXuQ6YwHv6\nYLtIXh8K438+aHGJxl+zd3G+7KQvakc2s5vrzJ0i4uUquTlDLB7Vrph2dcky\nVgjJQ66pYqt8h6nVMxRGWgffFa/WEJ0ifBSf46VE3kutO9xzseIR5Q8FZpOK\nWSh+syInxMAYC2gUXTJxfZxK62OTgy/sfVonqn1kf5KJJFojbOOqMXiTNpWr\nSgp1cYfBl7UIRMZRHdV3P2+q3vykticfDyaB/GZPvtySpxBd77BlnW1uqAja\nZVlEF27sf1+MmFTLbAfNjhENUN/jiXeFCMGm6OZpgDM2k8Wq7ToNQ0scr18f\nF/jU3rdLSg39pfQ1sKVfGFex5jAjP/KpA6KTIdtOv5SyW+NpV+z3xfyVoJzX\n0kcLglpAj59jIlTQljCvLaJgSG3CCkwFdE9x+ousZHqbt7M0Q5l2fAF/4ppX\nKTfhWhYbVIFbqRbqJmiDVpt3YnftaDUbEnk67i4p0pQBr16wNbgQ47VqZWmL\nYGXa\r\n=VXPl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFX5OzZIES+WZ5ziIxb7b69NCgZdhLtqi/tej4kM+Bl/AiEAlvymRzL35X7cV/xQEfVG9oefOR05PQtziqpKx25aFq0="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.1.0_1626300076825_0.7510968706813235"},"_hasShrinkwrap":false},"0.0.0-e3166a3":{"name":"formio-sfds","version":"0.0.0-e3166a3","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss -o dist/formio-sfds.css","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib __tests__","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w src/scss -w '*.config.js' -- npm run build-css","watch-js":"watchy -w src -w '*.config.js' -- rollup -c","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/preset-react":"^7.14.5","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","vhtml":"^2.2.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"ba6d6370589e8c70fe1fe6f8a0989a966fc0afda","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e3166a3","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-GrrSOVEqq/2fBFKNEmro6FE38v0tYaqUQFECeFiKcGajzg4vQ2dq8xYgZQlvyyei+PrYP6rFLeadABoaDkYc5A==","shasum":"008ac028bc1ef3960815fe2624b7c87791326a43","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e3166a3.tgz","fileCount":285,"unpackedSize":1101279,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9b/YCRA9TVsSAnZWagAAcIsP/RocrZ4MrtBTjS4jEIjV\nfLrWICaSqJg49TMz6BXTXuCT+l4PK3e4u1SnHTbim6yfD+R/X0fQ+5a+PTdx\nUlTildR0i1oUqbCCMh68KWYPq7trei4AU1zVYFKpYWcibalidSDVlN8jb4bJ\nQob2ad40kGud5bpVSmYvQuZ73WmsMQZ6sh4oa2fySK+6oBUWNQcrbt05yIg+\n7E5mW4SAsEmXx44YsQXWPGAk/IFCqbYr0oukGQsm4FOANGgRDD4WFbT1wV5k\nBn3BR4rtzgwpGWmv6LecIbKM3wfUKSiWBn7TnjwUCPw6WZvfnNA5t5L1HpEm\nxiqo+7LraWaOIcOtCWc8CvEXZV3xNrPgj9j66WfyYpltCtSSPp5u35GGMRGi\nAL4HOSR1CfmfIH3Xl6rz+pIdgzFLtE1lF3g3FFUMRZfPyo4CXAbjxyrc60PV\noRJr/4oT5lgrd2AV6/WVQUAEPLkNf7YRFLYKqKysu56QQhQleKgO14LUZVcV\n4INyfYAZjA1e39ZraBsEEzIYs/UP0GPHxDxfyjXXAZrSwI/H2FssMgvSFNz1\nLAkn1GEy8ulJAEnXRvztBYFEXFhKN0gxBc7Ac167mnIFfZRWzTc/UBk0Xcdi\nhCcEuKFhKl/COvdQyijR+gSMQfYVr22ftrAGtSdd7TNHvuXP7vHWbzfgAG0Q\nA9G4\r\n=bO9u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGmI5NN4qGIEEt9rAYbmedyGxibnA+HIEVjA6UzJCbFaAiADNRcqRboq0K3pwio8Pcqpw2kEIN+IlBUX3wjn7r2fSQ=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e3166a3_1626718168016_0.12593367585486925"},"_hasShrinkwrap":false},"0.0.0-646947f":{"name":"formio-sfds","version":"0.0.0-646947f","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"11bc29bfb8dfdd364868ff97edc45b77e6ed79e6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-646947f","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-fMtQKisi8e4x/aX0q1EK9xGiEwd1Q7OV/5seos6fD81JUvG7NjuJtUa2OSUTvR1oSQcQIC9HDV3gozDdSwZLlA==","shasum":"044445feb6c521b673165ebe9d7c8a6185978bee","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-646947f.tgz","fileCount":283,"unpackedSize":1090099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+JHpCRA9TVsSAnZWagAAU3MQAJjcpMvLKyetnsF3JA1i\nfZ6qZH7Nw29p8Iv6yuSh5im8Ugb+dbaCiKsGKqiYMlpMeE9J7zEE1W6nGU9Y\nRrtku/8EPokRhj7TtpetDnijECYb4brAAK1g38rmSHog5WpL2Gz6xm7qSmY/\nFdcn319EHpnb0dpSPJZNWncb3uC8Mqns9bj8ovzzbxYfe6FPnkQGU+Gny8/z\nVuSXc9s9HBhpEsOGhVu1jINg+5HN+jryqJAjtLp2u70HmTD7racTW98e58HK\nNFOWCLhGfTbaZdMFG2U22512NCmj0SSbHbsyMHMQacQM9K9zyrn3xinG2ATF\nYcfu6oy8snHeraCCYW7/HuQo+ADBbLfgd+OMtcu0bDWTwQ26A43uwSdupFLL\nYYyJrrN8S3Lh2S36v4TdCAlAxYss1+B1P/wg4cpfmRndppZKQrIfIk57gdbT\npohjFBE/uvNWF//UdgZ9zAceJGw7dV4SiDW1YfXPdRx2bQgf/6/z85N16lVM\nQWaiQXIGIw0AqFNJkeJBiUUdtEmtliFWVUpFqT953SN0POCqQcoGODIRKkVw\noyy86euL6jitf32Q4tFevUE8JvggvkEksruyD+CzhSMpsZYgBSseEGIn7n0a\nEPCPeXT7NliqkPCygcdMfOjIo+/aswOk6VArD6uGpdkPMsQjT9p+S1HPRwWG\na3yV\r\n=VMGz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWK12D+VszNqeeFi8mUBMIKtGqHKlnC2An+LSq+nQVRAIhAPg/MABm7FVi7SMLiqrPfvdWMObX1sHoIkccbx3vuj5r"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-646947f_1626903017194_0.2550678632271499"},"_hasShrinkwrap":false},"0.0.0-745fb77":{"name":"formio-sfds","version":"0.0.0-745fb77","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"56843d130464aed49d63b3d32a3de3468c00ed50","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-745fb77","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-sjpyCHJaqgRbXuBvKDiWq4R58X4ZSRDOVB8v77bs0S+tNHVrqEM4pApyvz5dnl8WkqTpSO0z04+Aqrm2VYiTgw==","shasum":"aa1127aa23c42377ea9dde5a10b4396ee300dcaf","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-745fb77.tgz","fileCount":283,"unpackedSize":1090594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAzkyCRA9TVsSAnZWagAAVj8QAJGtMjPdSByu/vgJ1uFQ\nZHQrqWiQnLfoKCIwnnamZeKwzZY8o+8ytwq+njdOKGq5WCvGtJ6btZqJZLWW\nPIZHCFNtwxcMH68cONCyXcI9FgrMIDG72x93TUCsWMYRG37ekWfBBZXKVwau\nvSnKIeKeDuZJ/AIlWPAclhDCSfDBQgqCGfzkJ8hrgL0VNXduvuu/tgtQ1oHZ\nYqBuozZz9noDvV05eL6VtLJWzBMyzeAtWm7FMTbm8llLgAzMHdqQVTQ/tUFJ\nwcIh4lSnNjRmx+iQFF4z3pfx8DrVf2zXlkCm43VH12pFy/uuR1lKOZ+33eO8\nGcyWjxguCtFWsZn/uzRTWuLzzTwuexX7QfCIeXSMFgT74jyXBnA0qWOzVs9z\nD33LC/iOOWl8poV/PKKze9bDyMNkte/gJf7WWKQE1B5nOOvlxekza7S0+hOO\n4XfS3fbeHJYKfN1xiRdtmpELifCGo7P9kd4nl2NXbbEjAeQLR1MQDHCGbji5\nobyYiqJyZ91XriNwhWxPW25D+v1+eo9OiZHVV7Uwl4gtpexofYoBlwGGlnXy\nMYyNTHaRBzle71beRrprE1hrUq4p4mjg55rswADp+cC91ewjD/8xlmkpXA5s\nfduFBNZ8q4oweeE78DxbkJNd3XLoL4aLpocC2MTr8CNcboHTQ6wuABdZ8euO\nMJI3\r\n=eDib\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICD9x6ctAKFL0L9qOhL5zNcgAoVUyKFWEwsNos2Jz6/QAiEAnAAsiUqFGwq/A+5wWqdjzz7bNbESuqW5v50Bau5phoc="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-745fb77_1627601202694_0.6297935482956323"},"_hasShrinkwrap":false},"0.0.0-97cb77b":{"name":"formio-sfds","version":"0.0.0-97cb77b","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d1fa7e7ba595ed36d762e68c58f9301141571392","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-97cb77b","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-PwEv2eV0xmXyQ5dw6M1DBdkI4vcUd8tDkgsZxsUw6HO5PsjX81asFnrJYnkFbfWaBlvf3oSQW5NKXBXD+b2R8Q==","shasum":"3774d280d56fe430c8301858561223816255cbc8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-97cb77b.tgz","fileCount":283,"unpackedSize":1093645,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDCGgCRA9TVsSAnZWagAAFPgP/RlPTd7lSHdK2UMoqMgf\nHZVaiMcQIE/bYZOlWEwlLLosWRgZY8e1J9v5rT/kYF8Mcsb8ax+z3t5xspYV\n0TnAMHOwX8Ot3k4L+hwcuLxvetaKr51z1xpC9UDyomE9xKlp04dOMUVcuPuW\nWzegftNLbwIYQDzk2OtAimPgfTkmzb3Lo4Osz52LMq/QsXbT7/p4/qOti0lj\nAY1w+KpXoqm6GGIjv2k6DoCZakzs0Sf3wd2JIwqLYNhFaVaTAOX4IBStf7wW\nW4a7qeI1w4gzgQ7ed2a2Mxw49YeBxIke96snKlVb9NtYwIFo0f9IIwEYuEwD\nJAq3CRvNcWgbs+tFdPGRLFFy/g3vS2iWHaTe01H/28pDUXWEQ0F6fWJQYlVp\ncjTwZtrXJxO464WrnQKn/CUoj+7JLZtFOP9BODFoE3ulzC8mLybdic+PV4q4\nYrYGzzW+dRJOsezD5AyJyxKLtcumJ91Fzvgqz2CzfL35C2Ttji+kViGG0CBn\n7aoPdpizSR3AdFKsQJg73X/v+If0jnodifIxu1aga7bCcjmJud3451lbPP8h\nQkjJzIvcSKpCd7i5nJExfV0V66XQgEzTwmRMuRrDRiCg1w2CNuyd/UP1INA7\n/+xL0Zxuq3ufifHaFelCALxFEr4HXdRXsCYNgE5iRQl0bJsD++dUfE6DBnCw\nltsr\r\n=n9Wu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFCnQYSoXcDiWx9X9Xi1C2ljql0PCCBww4QcGXV/tBK1AiEA4/heUiVG52u5RmoZ4sKDybGhsOEUe0wCVf+dZpc7bv4="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-97cb77b_1628184992107_0.5921045851175504"},"_hasShrinkwrap":false},"0.0.0-085252b":{"name":"formio-sfds","version":"0.0.0-085252b","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"56f399d07060c0a5b68b7ffcced69f32f761e7f3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-085252b","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-R9nmWH3bxAl25GhAHm9767xK+YsltvJBccvJf5sXNtiLDGLTBNTVLfQzjlSVV0vRvSAlGEalJJU28MhSj7G1Rg==","shasum":"60d5f171df39788e5e9e46360aa9c7b4c401b993","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-085252b.tgz","fileCount":283,"unpackedSize":1096377,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDCPFCRA9TVsSAnZWagAAFSAP/00a8gi0rVSK84mUeDv1\nBZmAd27YOy899P4m/WTWYh1pxV8DvaP3EYRxIK06Gk0ac5S9G8OCBVkIxhBn\nUxM6ciQTWCFcyJGim9afjnUAnY0bw4ucWM4IptXnFw0M+NiBrRIL4A1IT1Ec\nJXdm1+mSg/9mMokE5EooCEyozSWY/A/ztvILqA2ZZk6D7JnxAjGF/FM5uT2j\ngZsoLQlsA/5Vg45AO6RBsIqvIEyTswyiv66cQd72CWqVsi6U/iPN766b/PL4\npsBCDoCvNJo1quLVqVmFFe+CderDTNiL+0ZPjrte+JW0fudQc1hG0SKgZDEr\n/6JGh7CMUGAqdBQ6oFHz3/pf9OdDr5V0r2FHGdwcHNQmXmVdtRMiRXOWSDvN\n2nEYu352n3cbh2R0CAN47+cKTugJNOPEFku5mJZJx/3WksMCdV144V3O4WGl\n2/953d32pJey2wJPXgB0lqpm7BaUquB+W1CA29q21f6sS2cILgWWDNiujka/\nXu71a1P61GtnFQ/81OGp/QGCWbPcWs6p2kfVju/3CoRHYm7txDYBin9x2ZCH\nJTfqja1QiT66Y1LZhjBJuH1kFEa+tZB+tJ26F+f8qhQrTSHOPxW0Jt2WvHji\nECYIrHzZT+RR59/ijRDXFVCYn4mln4gDiZ7Rd6q6F/frp5pekk/d4oTI3etR\nizaO\r\n=hykx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFWtJ5tSFOniFmJTUzBkC4J8/nQvzq68jS+aP6QKAADkAiBBseRmC9P0sYnYDdfWg3UySkz0y376v4UAYZnb66UeLw=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-085252b_1628185541197_0.19434752797333088"},"_hasShrinkwrap":false},"0.0.0-2fbdc03":{"name":"formio-sfds","version":"0.0.0-2fbdc03","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"6a7dd1db22d33374f633d710db72c73d6a55421c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2fbdc03","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-qKB7QnnNzYohvvagi1y0l3QCAEPG/UGhulZsvFeGLts55L0zol3ozTsl4b3pZl+sKXKuQMu1JMmpw4vyWc3rEw==","shasum":"d19d5304192843ded21e51b3110f9b6d240ad9ae","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2fbdc03.tgz","fileCount":283,"unpackedSize":1096815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDChiCRA9TVsSAnZWagAAWDIP/32yUeUwZEjrl7ZSypIA\nLltgr+inBzqfbkDSdl28OeyFjRApkikoPIVrpR+oogheeshx0n+U55Yd7+MZ\negU5erDuoCEWbKOFYrRenRvRCXJzLKe7blspqlVqEH8ySMEermy9z+fDjgLm\nsNiHKxQGNcR7/AiDd4f3GgDkjtRZXAihOgYQ9N8mOf9Weww3vuAqBvKuttOw\nw+KQW8J9Wr86dV9u09ZXJADpXhaQ7jXdReA9BRjIJHrDKPlvojG0F6BhBu52\nCHcmZnyoIAUPZGtVgTdYHNwxvVnYVVYZ5XV9QWd89bYf90p6cH2TAu4Cr28p\nddNBIKw/+PGRuFF13JMK2ONnu+s+wWFllc9ecnF1+LSeZw8SzdbYZiwFa8Z8\naUI2hMyaU69txjT5uMmpTe8gogYc/zQxfT1TkVgH4cLUZYyameziBGnrd9sg\nDLRG2oVZbTCYd3lqX/b9oSNont1ZZl3RSSy2cvFOhCFgWKGJV3gbMQdDSdXe\n2daTCcShyQFT8D+C63oiCzQZiJzcZnnVpwyHGVFhijV6SgcJa47YdKnfT3o4\n2SNZ+gsWlNh8tjXez2sLBXK7wTtX2QMUiQvcE5kOCOh2/wG4N2V3r0WRArkM\nnGHokqZEPFNwah1vlBz5yiAGZ7nmBagF5H9V669G+1MY5+SxhxCgj/om0koI\nMb3N\r\n=Kvs8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDa8c1OtoJXqGKNrTO0SJ0D3foDGW+64luen+oQnVQstAiEAv/+CiIQIe913XMVfOby78Zjeuulu6ed64AO0hMWBedE="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2fbdc03_1628186722314_0.30802742902745783"},"_hasShrinkwrap":false},"0.0.0-0d71ceb":{"name":"formio-sfds","version":"0.0.0-0d71ceb","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a56df89349694ce3397f45d85868453b8d3e91b7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0d71ceb","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-QLrf6od5nWApMCTNioxBsRNqmr20LR6m2kPJsrDtwjEnsd0zTY9JGMZW8GEiATUIixalluEVSUE/CozRYRQRDQ==","shasum":"85d3755feedc5a1d22a918b9c0d5f23d05967d59","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0d71ceb.tgz","fileCount":283,"unpackedSize":1090594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDC8RCRA9TVsSAnZWagAAWccP/0/7nH3sCOgQG/DQfLre\nWMXzC4SJaquCXYpfLSHbM7IMtwY1Hke1f89UG/DhNEI1qyXmSJZ5M5qz3hY8\nlSDrcuoO0MMLeg0Nyp3pRhgrVTNudv5hQzq4WHw6UdmlA5+3wYfaXwFByRu4\nzKnJpvpxHvU0Grlbe+CbOi9EHP0eiddEoJ+P6A+GN8SOwJTFzBrrqhaqXiFE\n26TnLwkGMKP1LZZsFIOl9bGN1M5Kd7EB+7xSM7XtZVsAvjwW1gac30Jxceb5\n77Mkw4mOSWzv0PNQZziirk0G6uq2vue+BlrhKadbfNetopxpKmP7D5EuDNWh\nU4/qtsPex5vn8eClGxa+3+zLt4kRSYiKx9HXU5Nj7R3QkTTPa4vT3Peoo0LC\nmT2M5PpLoJi5KwKu19B/IEyA1uybNgFy6T6oTJUnopBUjbFGZCw9nDMInj2y\nYa61mKU8MiG0fj/MkHBE00esUVkNOnowmC0S9IBPRP68XV4I1rVWunbSbUa8\n/gZnLv9k2JVg6kPGc3zlSNT+czV/VZlPMzIwk2OJsUgq4pqNMYLErHg63Bpb\nUdGHNlId8idu34mvvKy6PUz9rDM9GIY4Mgdu9U4YU74lHjk/SBudcGJCyaPE\n5TEIVq9FseF2Mop6BOnBQtv1TW0V4HDFDaMvkbZ3yr0TuFvVKgtfItBOhHcO\nUbKJ\r\n=5dbd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFPd9CkW/qwoG78EMW1Tzs+spGNIj3GERz7Zek5Sylg8AiAEic52mrVgotP1srXMQM7c7pNURd0F0KKHH+mxzmHZIw=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0d71ceb_1628188433250_0.49585807867686693"},"_hasShrinkwrap":false},"0.0.0-ff000a1":{"name":"formio-sfds","version":"0.0.0-ff000a1","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"9bf7a93fc2e4ec39b93a198c073a8bf337b57106","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ff000a1","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-RYsbPgT5TKgh8a4zd0PgaEjTv6zlP/CKuurCzTzmNaV40nebqluFfQ+eiQB2w5tH3Je36nj3HRCIeZC2pKEp2Q==","shasum":"f484cc8bb2cb0b0698f613ad6df9917c79cdac37","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ff000a1.tgz","fileCount":283,"unpackedSize":1092544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDFA3CRA9TVsSAnZWagAA8OEP/RzlLSyCDBDF76kAGp7l\nOmCMYLLar+EXfw7v2+B3WOu5A5DEAtpy1JlPRbw6B64xik2z2IADrjsTjwuo\ncqsJdSuzuFnfP2ikuaeFc1/lHXyWgVD0LwHvSiPNHrM+TlOX7DEA77RxhhnQ\niTqQ+/GN8RVaXddwwGKf3PLAMLHBIEK/BQh7seuuBrjaLr0EirOBfWXSNwfj\nh2Gp3DHrHIG55Sb2kxTXoSOy/KdkjIpDxfy3d9gSi1HxzmZOLpIr/GGq37NY\nB8xC2XxN/VUL6LQROpcf/ep5uOYtV95ynYZHWRi9md9dXpMQUqKYLBg4STxS\n3yleVDy5vr8mk8Fpzvr9DPvG2LgBkdaym6YeDR2R3CifRJRwlYgGrJXEb+vF\nw4Si2BX/pVQVSFMP4WAIQc0XamCk+Ws7bcHzZlXPOEBRfdeLcvlRIzRuner0\n+VeurPUae//pSNgCNEwcsoqnORv0sA23I9wM5lBoH3ytvkskZao+xvAzAHg6\ndllCq4++AB333lnnptWEPnjuSWFUnmwBzV1T8SMI8ztMPCg/6och35+7sr1b\nRCaMXcgay2DLG1Cjfm30LnT/pgawepeZZkIVf74rRZ7pLet8R7ueXUgXgbc3\n7/6HkZR5dkBaPj37ZSymlTEkRz3blr+3OoQ2PXz49rMO+HHz834fD+uC8ScF\n8OHi\r\n=Qdpb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+n39vNyPr+tsvoQ58jpTvqyo0EtohM3B5hKUwic39AwIhAJusw4/ZoLtLhgGP/ZSMQ86KADwHcmc6YDjq4AVpHErA"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ff000a1_1628196919178_0.1965211314114199"},"_hasShrinkwrap":false},"0.0.0-1d56bed":{"name":"formio-sfds","version":"0.0.0-1d56bed","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"e89b417ff16884c7d457735fe6624e96d58e9231","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1d56bed","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-Dx1Ts1YzqI2UBSYuI6XEbwHSqXcBvy0uF01kqt6jal2FMdCBnbcvRISciThOzaPjUJ7HxH3IFdKCsK6L/14zPg==","shasum":"a132e375f7523df8bc3326239d8cdb110f6379cb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1d56bed.tgz","fileCount":283,"unpackedSize":1096804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDWNhCRA9TVsSAnZWagAAuHIP/18Mp3/YxUPfZZR2uGzS\n/M3Tq7Iq+/jI8rgUGQjKySgvwUniMtYbQGH1wOmeoPBFewZy46QyW30y9ZCu\nX+rKo9/Ceqy7i7AN2RO0RRAgZB7+kXPcOAuUmMkFor8LIsr8UiOQ6n8RgY/J\nELP5WR0kvUrZ/f24ovva1bhyuMG4veCoy25KR++7UyiMdunFkWLqkljlKD2I\nCkI5kWqbtagkYVaGDF4nDztuv6qAniThoafoccnluyJB0Q4mK85vvpz06TG/\nDX+h0qBv8xYzzm91YKhfjuxmLg1MPTNU6eQ4bzp8ZKcWJ7NKty04PZucb+8y\nwO1zvy0+MxvyoZHhMyu9dmWmUOvnD17Q+ipwHKb06UY3jg0Qwlq34ggdBpbO\nc3sD/dOhD1wewW1jvmog3Em+HUUDAm70ptCYdkMM9H6p2QWgU6E2LjIbFvwL\nKBcD50tFOTqJ3Jo9CDf4Yi8qaduEVxvnHWzqkWRm6xZTc/bEewZpjnzTmIwy\nPqlY4x5C2CyZfj1fu5F8W+yIOTtYckjsvON4as5yXHHzpmdI7n6WfS2dRG6y\n8pMejxs/DN/yM82pPPqPtyJAN9Lo3u9t8Az9vi+rGrxhlwA2lsgErM/pJihm\npVixM0L33cREDVxxRKCSXUPU72vBTCjZhKb4BdcOpKvGpyFv9r3aORWWlVok\n2LH3\r\n=Tbo/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCThXhxgxObc8pXICkMWpDlBU+VWn4cIHBBT1y/m+/11AIgWLMphOdt+hiBqm16IefTM/v2pJlKx4D5DkbrUAulWr4="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1d56bed_1628267361028_0.09472728713117462"},"_hasShrinkwrap":false},"9.2.0-rc.8d693f0":{"name":"formio-sfds","version":"9.2.0-rc.8d693f0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.12.1","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"777f3991234a7d86e01b624f5b3c1a62a455fdf9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.0-rc.8d693f0","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-OUlWOfqZhO3dkxXdTOppIS9VfVRgDwQwvMMlxnW3lynNdkj+5cAn19pdaVTJBk5NPjb/fSUOjZyef7+BLH/Zcg==","shasum":"b1125d68de2d484cb758a350ef6517d564b3d67f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.0-rc.8d693f0.tgz","fileCount":283,"unpackedSize":1096807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGqfdCRA9TVsSAnZWagAA/3QP+gLFO/isgC9nBfjTI/P9\nujrpzZFhvqTFyFeJ/pwKpM/knpnDL3whrReed3EDvzyMlYg/1zP5fW2ls+37\n/FcbgeRQWJXldXE7xMSQdO74S3NWYC079FkINzEz1zRTQfKhOHPO4YH0uwqf\no8uPwtBiF7kqwskQCH02hCnWYM2xPZPYQq38VOyVdA4hVtU6E9G0LNBHO9Op\nuc1NszJ0+mDIkZNuX+pg6D4hbC1mGhYhovoqmzFIvoPIW/WNPKKOIsJJwJX0\nV2Qdd/j0M+g++7BCVCLpksphCNHOZybZ1w+PNvd56EXQL7a42CPRlKLSrN9/\n3SxXYM+MN5U72mR3YKAtTNdb/8K7W//naMrDM5Y+DXXNXyPUglBVm1IyNUG/\noIHDtQa+bF3eciB0eGMF7fzd/bupFAe0kC2wX+kphRDSj4BzkXOSqhhoA15O\nnRrTq7iAfcHXysJ4NFFZlIzJ3jwGA9BQTVSzRgQqibMTXzvp4nXMlKN3SX47\nmNgSi1wlG0OE+qVMFLWZ4oZGqihJutX3xVwl7byenr7R/3h8DtgHecioqWXA\nbnzgHUZnKKuVMYuRRUNlaUJMw4TIw0tEPthyP5B1r6wjBQn4z5XhwOLrLueN\nlrGgDDU901wcndnIXZQ4I7tkH3Zewqvs16u/toHOt1gnnrb2wj8UegKlQF3I\niuN8\r\n=rVq9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIACE1U4AeC8Yqneenfa8/g1Pnn57BoCr06E79OHy0zUVAiEA4U4Sc8N666Nk5gnXo+Qh2+eORK8sOSv9BD+hBHDWJug="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.0-rc.8d693f0_1629136861368_0.35940331765246825"},"_hasShrinkwrap":false},"9.2.0-rc.7de6497":{"name":"formio-sfds","version":"9.2.0-rc.7de6497","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"767fbd948a85a0608058c81499b3d8167ece78b4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.0-rc.7de6497","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-f0OksH9+TrM3NosfMdzEjSIlI5WYDot/Z8XPoekE0FagpmH2XcQ75wUsp3ypKFQn1UlBM5Fh5HXuWOnC/1XMaA==","shasum":"04712cfcd293e2f33519c3fb04367325141e1ceb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.0-rc.7de6497.tgz","fileCount":283,"unpackedSize":1096807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGqfxCRA9TVsSAnZWagAA2fUQAJOdybrz4VSfYIwiAsYW\nuu0ttQf/gRDN5Kucoi0Wj35Gh2LcOZp216HObEHXWs5hi9QeeJE8l14RghpW\nkpTB5WacTCWdWfeiWlCNXiqI6C7wequWj6W5HBXhxQVBW10NB9+0myV0bIm3\nCfDIGLvPlb9AJHLivjUInwHQwNjLivzaLXKKmzx8V1qsFXL/ikBOHxxhGIl1\n8tk8dFhuVRLxKPHdD+fW0aHk9Ao0NSfThWb/zAeklavrCzWVDVs5r/xZEt9N\nIbNV6CRwC6DbHi+WmZ0pf+IPamvw268V0BWBI+7PIumjcq+4Cn20BHDpdZCe\nnn0J2PPrTOZAtPYpBMtgc1HDoavmZbO282xxRgIKwc0FTmos2gVhOLnCRDHc\nSUWpoe7OY1Ovy+YdTNGEVShBgXMLKY8UOtEuzsRB9X9yNsv0MJSG3k6JGZdA\nBKjiNIjSOuegjOjRGeroX8hoahlLJnHTKb/yvj17gWa3pnof0+1zCI25h6MZ\nC7+O1SN+CekRxfv6RFbqunNYUjboX35eoeRCW3eqY1MCPQg8tx+MZCd+hb9Z\n/3xfHsj2XHJB+6ExD+NuJzvCO170AEyc8N7wVqlpkMDSv/jJedMFEMo34q9/\nWr4ssNS4yP6L6vXk29KZ3DeTSXjNd1XOdkViOF9u/4LVg8z079kPtnqwcfS6\n+kTJ\r\n=XCol\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFXTFZ5Uk4Mvnas9/KIN82Hz/kvjvkYdQQEjmGOQqm8+AiEAt5lWniRGNlPWYQaocEBkPR57qx4uiHixaj4woY7OrZc="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.0-rc.7de6497_1629136880797_0.7032189597083929"},"_hasShrinkwrap":false},"0.0.0-5313baa":{"name":"formio-sfds","version":"0.0.0-5313baa","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"fd3b94544721f5ff410572ed2d9a5069d5056e91","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5313baa","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-cPjUwF6cLgfBWVBhVqv+dGIXW6sWswGdfM3+zpcr8P2Ga42qkaQVvQGycakOYpPVhO8b1IW5hFsRS+Mjdrc3XA==","shasum":"d6be0643a8c14043fa25eab9b26614a1931b5a64","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5313baa.tgz","fileCount":283,"unpackedSize":1098755,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGqtsCRA9TVsSAnZWagAAxCQP/RWkqG9GdUCLgMbB+bz8\nPJNDM98mPfggqUeUJsSVXB7RHYitl1ypI53dDR1nZ3Vfd12E0zg52BziKnwO\nldbG3SWmbG0c9chVSbLrZsafC83WnGbCrFdL8mXcb4I3jvISar7d4GYNWN4o\nmzffCk5HJoX9crVTrOvkQNymsxw/xdjCQk1Ak433na4St5Wu0fjERnofeMBg\nu2XnJZveIrxM3YuZix0HpDstQ0BdRr4edyIKX1fByQDyefjNRZ4XNk6lWN8u\n007LpnZ4PTT7ld3YiTGxH3P1rbQmem3Jc4qzahbNfe33LBsyhIGCU9zz7h5k\nu35J5/9p0A6DLzkCycIjl01nFmy+tHSU1d6N2RGt06mfL3iEjp051Y+Lm4Vt\nAT6mDgKf/oKuD34dobB12rXVrp9Ln5iocPAbRkvYsN/WxKWF3ltcrVC/+bc5\n8poECZ+3BNqF5rWHqUU05iLt4/qlOkDY9DG4Eb/EWfu7+KeIFqQfUgxvOWJJ\nC1vOOtPMgSjICY8cq6IEeIFTRsTG8TaexpBvVVxnBI5ETDNvw+8sk+uIClRq\nbw2b+JkwwUqkhFJPWKrm8tMcSxCck2vEncJ6VR0LqInUAjDAu+6B9Xd9M17B\n7iPkUsyXaDLeuMMr+akfIc5ER09Wq/edlpCK5K0n1QN5HvWtqYY5sKucoHp0\n7ygh\r\n=rJsR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBwHX443EOoOzQxJjoJpMFb/8wFEwuPEa+ei6tZTxqKjAiEAuI8ytvLZAxFPuDduFK6NHIAvFcgxmGk42dm9mb8OY38="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5313baa_1629137771894_0.9507918268866031"},"_hasShrinkwrap":false},"9.2.0":{"name":"formio-sfds","version":"9.2.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"fd9b4fa7025c972082509a1f233cafbf942f556b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.0","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-/livKYy9vfS7FwKN2k/ej+0M6JdGIScXyQec5n+3o1IA4DOFKmurVyGN4h//gjbzykEjbylO8PT4+8lSAid2HA==","shasum":"230daa1004bc9fa30e77d290e1981a5e7ac6bc49","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.0.tgz","fileCount":283,"unpackedSize":1096796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJB7iCRA9TVsSAnZWagAA8D4P/3FUOlBQYh0/in8Z+UCa\ng9IMb+kauX8TUJzXWVBASjM2fHILL4bZmLBJt1RFS8Y8hr6VcnXoAEcuW9fT\nws/mSVkLJU0PMV7Y7ATOWWN4LAVTMcK1Avpz7bOqZYW2ouLjreEJgCe2a1Sr\n63nh99pbDZ+aqH4n1X80fXmokNUXiQT6wYHkcixqSq3lbfnrzUUr0Vh1qP2B\nT7ySpzixOHLcrcmmnLUy2L3HWjoEfdgujp6FdVUo7mDDp7P97aDAMkHZ+hb8\nadS/KPTj//z2m452404uy7KDszffgmtWXLPzIAu2kksW07GvRMGq+DySWK8X\n7b+T4B9i3n9jM208M/XrSm/rXf4Oj6CHLoksFyh2404k6YEpPS3eu5DGRwTF\nJ5XrSbKdSZ4CJlGb1PaQtdc/B7buMYc2YO1VKrh2u8PB8TDXm0z49m+A5udb\nKdJnRUgq31LB/dg9wW0dmVtrvqPBmQQPAV9qEGibZbK4cCS7M9OaM5kKHOPW\nt9AwYli0tNcexlTkcoVCFvP7mB8tMeI5NBhF81c+yLygyTuLesmc5hi8LG8B\nmvxhawcH6Kve436yBoOn9AH3xpyyQoOUGQqpIIzQP/0TCOvZYfk0Q9rLPGa0\nNwrHwtMeJnoMIuX1Ps0OmPoHfokcvuUXpYXLx03fYARGHcuFcBpWnCkKcTJf\n9xUC\r\n=Z6+N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCR4WPGP1OBjR+ZrxjfoBtSZhS4Gm+poHrWzLHhYHKR0wIgINRK23hrs/+r/f/xQnVqWiCwL57NF9HZcDBlzIw1+OA="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.0_1629757154515_0.02935168230051577"},"_hasShrinkwrap":false},"0.0.0-72a4106":{"name":"formio-sfds","version":"0.0.0-72a4106","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"d3d8b24279c476f7519f066888cb4d002ce28345","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-72a4106","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-4samiv3yVmq9kOPCPiA/t5otAFsRcNJtLAy0SstHfqpmkmSjobBox/62C1O5EyPtBRCNUOMy73SL32jtSGShcg==","shasum":"3b779138b3da226e559bf09057a8cc050a97736b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-72a4106.tgz","fileCount":283,"unpackedSize":1098755,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJB9RCRA9TVsSAnZWagAA5MUP/RTzNOmxqHo66oMx7H6+\njVgL8jq4IS+s0GY2rt696GNnqywwHEHiC8bzR7V2ydKTkzIHl2l77NUS4U86\nxN22fZxRNwHJhedLz37cfWFKEKvjoo1UbhrQTbJ1romSdubhtc0ssDnQYgsB\nu9xljFLoco90IU7JKaA9+cZ/uhUm9gCvTSMflBpT2AzLvL//v/9DJaqjEonc\ng9Iw+dFewwa9zYo88QFgJrOQ9lXoXDCnBc3wYjadvM6tRBarL1TlDb4yCV5z\n6X1m5UO3HR/lDbOzblTJ3Lsp1f4fg+XeuucXk3PYgVBdh5/X72iJEnLHyT65\nHNiBzKPUCDOv2tQzBjZ7RtLD+JTDkcGQ3KBjuZENULtJhOMRgSMUZzEpqYvp\ne9Eeja4YiXEfcMeI2MT5QREwnBMlr+oPM6AzKcff8tdTFHUT1ngfGhqGXxJr\nkYahlX7u4ZX7oRI/UTpdQEYw9yPQJrHmevxNkmNlFWjWKIJBf0XaEbWcopp2\nhRIihHlo9L/Q0vdUvipheIoFaVjBY+gC3ubY+OPRLaNllp4d596idACUm32m\nNU6l5t8uFhZc06SB5LkHdvxFk3AbG3BIvcqMalYpb4yrSFNgDr/kMRcqSSyY\njsq0gJgvywDrR2nN2kBCsqSRuvVvV+4ewU8fuGcDX3YPT74EEEnuKp4qEHxi\nvQhK\r\n=lOGk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEAJGO92BttkI3jr754BY6VrBoXmIOFIQOKtmRk/a7mSAiBFniIb11aDm+ZzNurQe6gWGocSYhsEwguNL2ULM9Zw8w=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-72a4106_1629757265492_0.00774518089012477"},"_hasShrinkwrap":false},"0.0.0-3787ce4":{"name":"formio-sfds","version":"0.0.0-3787ce4","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"3a7d14f2e3b05d07c80a3bb2c2c6a25b7e81a4ec","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3787ce4","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-Z3N54i17IF8lCHA6Jy6ee1Pze6n/3QWb9WE3syG0K3hbxXhBZvzACF+Y5IU1JXcTkQjrg7Wk3VEwpGMk5Ra1dQ==","shasum":"a6ecccf7be39303b7f97a765b600d07af1db389d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3787ce4.tgz","fileCount":283,"unpackedSize":1096937,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ+IDCRA9TVsSAnZWagAAaqMP/jU1boLNoRHmKdk2ZBd2\nc7d0I4Ef3iTpJxqN5glA149ZHXTNi6etQGfXRS+RHqKr7ADQvgePvEZQ+jyG\n82GQmHhgGw/o8G1RXBtsaD4Phh0rP65FG7YVevrT04jnUR86L3Kum7XYaD66\nqRO9GjoFciQIcQqslp0ozvjBNnT6MqpqLzOuaik9Vasl73QNLsXBMwOGj4uc\nxBOhFVW/E8RjpTJT/8eGWp0q1w4jKma0qSX2lJv0cYnXEfyALKgKWgqnB/5x\nPM7XBxe2i7e3qxfO6FBJVTcCHo5lD+Vd8ubUDX0OlHnihCOkCfwPk0W6EZ0A\nkgk2cNAQAadC0ZfSoo/pWfaJKf/S+Jm57VOxfhYVugsgVjg+yON1ITl+oDw6\n3JrrE5YceXv2483frsLrSyA+sg+N/PyAgUjyXQl4B93kUSm15zArv9HDSned\nSqkkmFHnz2aq5/Sh/VYG6uML2ufVDcfMMqB0xbvkKPNQGp98StjToTTvUOvO\nmxUNRrG/AvD4ss9+3aIfPrgvu6MdzC0fWOrnDJKSA7Lu+QxT0hdHsoQWq6CW\nzac2ev8bcxA001NZA9wLpyVzgoEN/MMJ4zkI2ilTN3fbQ5OG3WQQHw1Zj9dn\njUBwARcolTOrMcSwfJQHhpdwFTHqzfkyiWboTOCQVATmmmCfPnIdyCDOLRk8\nvy5C\r\n=iz/R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBh/RG97ecSWB0h9whlpmQXrSMcm6sVRUCzjgZ22b8CuAiEA0mHaz80JuxTwuDY22WYO2zWmhjgLG5ANScDD1zS6LJY="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3787ce4_1630003715688_0.9650586933443932"},"_hasShrinkwrap":false},"0.0.0-1564cbf":{"name":"formio-sfds","version":"0.0.0-1564cbf","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"c2ed0228a283f0b120425c84595df305b6b06d83","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1564cbf","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-gscltadrgwWJJ8hgW8Vn1IWVQIngVsRLZiAGDbaIKvjlQkLbSPE4tazBwCmQ9/VqHVBKHPw6Hvdw/0NCD6QZxA==","shasum":"ba0e886dd2eee7a2cc87955bc073811d0d3063e6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1564cbf.tgz","fileCount":283,"unpackedSize":1097718,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKWa4CRA9TVsSAnZWagAAWdUQAJBlq4rRoZY+2HnDUTOO\nFo4eiumgp/JQILaWC9hNo4gavWgoyNI1I5iki/KIFCuWGqfHaFneNO8/MBj0\nDywrOfnWd/V/Z8KOg7KrVHyLtwOBcTWLs9Qk5dg4dD0fzFYLSVTjX6ikkE7j\nRK7twl+7EJkc/iV95yjepSDrMe7hVLhoZ2GU42owcgc/Jg/KXRXctEi2Arvc\nvmFaleCQiT+4KVJNxJMt2DnHJ0C/1YOzGVkHU5Y+J6Zraqu1ABUWOtvfMThM\nM9Ys7tlH21zILEKfG/kbqcMzKACfXwTPza9hSd1su8rTNwyKaB6mhVcDqs7c\nszXDPwBGfC1TG9fBsFLC0wasJygr4b/rSsJAZez8db9buvRuhINHgIYwOHGm\nuj992ovFv8HhEj6RtKZPUX9uCn5J5Nb5vmFFA8HNSR4QLHbEo97Cv9+dPHqc\n8uDjAZmI2m/oABr/JdKJyy3UMQVbn6SaPR0aBzsZDXkGOBOzDnoqog0njDlQ\nnvDEWip/YDVCALfy0LwyHnyVHCVbjZQTDkL04nYHxBRkyPZQ8pJt/T/JEuLX\nLulezZSPTHTjympinVioVq/LzPcfC0lDh0puKcCddHTua1RQQc/SDxEmAUl+\nYcD+HBNmZBaaYvXulUryBICN1VUYu86+oODoaia5LEtvtsDJ9eyL4RFFRf9D\nxnE5\r\n=iphJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKW1lBssoDHMVufFTYwhXwIgra8X6oJ5TiOU6X6K7q7gIhAN6qxPPuHCw/hrxs+A/OG1wvwznTw2z6qG7cvzTQdUXi"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1564cbf_1630103224666_0.7766928515892118"},"_hasShrinkwrap":false},"9.2.1-rc.cf6d32e":{"name":"formio-sfds","version":"9.2.1-rc.cf6d32e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"3a31c00c6144d7ff2f739df512186111eb9c1161","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.1-rc.cf6d32e","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-RTTEHmQEfOG+D7+Z2UgLLCEX0HWi2hsrv2atzW2GvEce4oBJzVO7+L9e1aP8OXCcbLs6bUCeFM0z6Sr37vzSEA==","shasum":"af16d0b9e84ee1b31da0f82b5db4fb0a1f13accf","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.1-rc.cf6d32e.tgz","fileCount":283,"unpackedSize":1096940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKWehCRA9TVsSAnZWagAAgKwP/3x0iezQ06ps+60j1mfz\npjpnvcYtE6PpAyZFmuB9hMElM1v44VGX5QsKPwUK6IF2CSVwg+umHvUjzlk/\ndfZSDnu8a3jdYyif8sDCqYQSLwtdWeVwv0wo0ainU4Eg4lQt2yIVW6gPVrGP\nHPUBajGOdiZ4961p2FacljTiBHyVp1yD3prV2zdmk49GSrxM4zIpBLW/vF1q\nm1uvjvXBiqzeBV2lfGzyz1RWKnq/rDTEYas1l8rvhDMB7ZYOGQeDIA9rkqMh\ndNIfeZubGCcNC7id8FO+C2VG+P2UOjmgkUxrzUyX7Dnwb0cAGtBAdr9yHLLh\n9JC/9IQ/j7lD38KkJuFQjACukuGRavumlrlzsi9PeirY2VoBINfUPvAme6XX\n8UhFW0SLr6W7/sjYwm2eob6AfVxkBFSMA+22OcGx9E6ckJ5J0I22CoQfT8xF\nF82Mde0UTx62hyzbcSAHLXPcOPz121YrKnpBK2/vdMImTanIKvhHy9eIjbRX\nBJso8+O17M+TtGi0LNYo3PogdwKbmg7z3fdPZLJzWsoqNh1qBNX1zbr9l094\nxbd1NpEgKoAcms1AagGpPb4XrTHMmKrXNIzj6NA2RB0bOpEEb3NKfaeg142v\n+bFLk/GFln1YcZFUrNtVkeoKe38SyO/xB0gXjpGEiLLXy9uh5GSvsoHEiLsy\nKQaT\r\n=6N9F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIWYaDfIfJmayj8tsjelvIHbQdqr/Wed0OMhR/DzAQoQIhAIvBNbQTh9zajelfEs9/5yDXoEnWcUVSJFXzaKG2pjYL"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.1-rc.cf6d32e_1630103457480_0.199491745063066"},"_hasShrinkwrap":false},"9.2.1-rc.f78313c":{"name":"formio-sfds","version":"9.2.1-rc.f78313c","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"fa81cb4474d58c9f84ea094555248b27361b095c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.1-rc.f78313c","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-yGj+Zz+DUfoawEpOdSlv2dYaQb4piAPuqpkC+Q43CnCTx2pQdTvcbpJXc9DBBAGNhTs59Ox8k3Ko7slEJksTuA==","shasum":"499f37b774fb6802002af670236c6561266aef8c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.1-rc.f78313c.tgz","fileCount":283,"unpackedSize":1097721,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLQXgCRA9TVsSAnZWagAAQ6QP/3l5PamFYdYSVwfFfXfM\nN99F6BU7EsBjUt/oBe4EmkLDJWdbanP8Dvw5iwNxrz7aFKFfApKoHp4e2kGv\neWPmaBEGUG+U0YKLK6jpHUmKZN46yKLKmP7AalrGSSDEocuAIWfkYBe/cjaW\nwo1cYmyD7KtYb8z3vD/aspY4jfTHpLUjYlL+RhJbKffi2NiaMEsKFFED+u67\nUg+4c+CPOLyS3b2dhVUeE/UeTXxq0bBIbZiQ3SbP/iq3hoGmL6wxYx+4nWV9\nv31XxDKySfovOBxQgOCU1X7Rm7M4uR5UJFK02KmlNDzCZIHY+R2jDm1KUAzN\n2XeQ0eS3Nta1pe1X+0f2UABA6A5nQMRFDPecU7c07jvCKRGeLVXhEKyFSMXy\nbqCva5Ll24iwFoGTHPSuo/WDc/5AmjbtapA1bwZTYewEFkHNWP+U4ZQKevov\nbZq3oMMj/VdPwd6if4iwgPUgBGg45a4Q1HDpyHk/OSnYpJ2NV7rDPqCXQjf2\niJjkiDFTVD0dAUA1wMqDB7+7CTOrRq1lt1wjjwxjP/Z3w3kXvziBdAIjN7On\ny5sKo1UkYQ73Dzm1K6OKbieYOPwzi4jF4J4RLYTsG2SHCuo5T02vn/hGfZiA\npdsn5SJ3IYf2mXwH+uCz+90cU1TAoiAKl3/EWwyktJgzs8xeEqRNm9oWqOHK\nT9i8\r\n=fLcp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFnWTBm9wXFuO2XDaDiqNz/2sj4n6R0j1E4R1pG4eb5GAiAldFKUIUjUTNgRQH7/dGlQi3NnuRBR5Lk5y2tEuke+pg=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.1-rc.f78313c_1630340576406_0.928666101749223"},"_hasShrinkwrap":false},"9.2.1":{"name":"formio-sfds","version":"9.2.1","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"d7a14fcc53908db64f06093bb6eba76cdc7c1df5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.1","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-loZkJlWy/R/IgtGa2FzFZzI8n29crmRJrZIYzfWfIffC05g3YyyHtIJwgRLH9zWQP6r28EWMsn1glOaaZ1t/7g==","shasum":"81a527826c875221c6ce686cf4aa4fcf0712d6f9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.1.tgz","fileCount":283,"unpackedSize":1097710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLV3KCRA9TVsSAnZWagAAwAkQAKCfwGWL5WeTTJx/pwSx\n620VfKw+jGnK0r0eB6nWJDOyrj2pEz2B2kxBkwf2lA7coNeBy12dv2m3DX8k\nCed0bto/rj7gWpKNZwF0ID9ScVzMuY7YEsjcy4BRo8TbQOCuEUIXhOXVCaN9\n/IzcvynMU1GQ/EemvoD25n86dfU2L7N0PPzkhb+pEwbNqij1x44IMfyLz5/3\neSUr3rth9N465KkmEPZjmK79wTNVCM0gSoUIJT5TZx7S+yppcdYU+6a2qQl9\nA7/FTl8VzhipCDXJ2KESiUrBFVj0M2l+jmNhzFl6mlzSCX8gCBFJmSR+VHWZ\nH95sfN/daw/JCZ2cbSQTZ8BCzJ+BfDGpNQwtQAORT0j2ZqullxTXmNmHL5J4\nFLtj7ETqwysmY3fRrNlMzgBEpjpN9/pNP9Ntq1yiWXmBVYUJJ7ZXeZ5/jTGz\n3/vtcGBZTtr5nmvETFDpwM4N5dfncDXDE+FRbZUxhlhnob60cLKpeZniWiH3\nWrN6LMzsRFjZryQjzNfMCqvA6pRKup2E70WRA+3Dy4rc8bv9w0+wCX4+yn2q\na5i7KE4Xhk4WcZo7oIq+iLWMs5/LNifUcxK+qzx0995XDJn8yPHnQVONUpAr\nrlrPXzygPD1lcl06clWzc464vIHOrp/OIhdkqqhn3+OWvwydMLqvqfIrGW82\nyi+N\r\n=QUv3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6wOpvTdmuvZximqXyStBLJWQjycgaXBFnj8g2ghTTfgIgZihsxtTtVPnPbK3qki3crPFy4FxQ9Xx/SBINbGIrxEQ="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.1_1630363082680_0.7230670520990712"},"_hasShrinkwrap":false},"0.0.0-3a9c134":{"name":"formio-sfds","version":"0.0.0-3a9c134","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"4af27092373a17b22a7a8536dcab3abc61fd9676","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3a9c134","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-kKPSQy54nUrxbzTctIgnOySuPudrad5GLH4gTvkLAm+DU4hKfcF9B7C3V3K7R1c3ssVD4HXpzBjO6EsHI3li8g==","shasum":"87e0c14277148cc1616df56961f183edc7ababc9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3a9c134.tgz","fileCount":277,"unpackedSize":1080384,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhN9orCRA9TVsSAnZWagAAMngQAJWGDDmr0TlCOymPoPvP\ntVzSUQRol/NnztqPmCDIPdnBHh6qU+40u93IZma8c4/wr8cCNi3w1qFFkkAR\nvlfJCrddEyu/OBtsR16T/04U11xcb7szE3erIEZtmdVTGp/wTdDKHNdf3b+d\nXanvfYEDkEiYl3YK3mTZhrMz7bLVQluzl5q9x65/Kk7cZSX1Ub+CQssPnJkL\nOc0BVZtThE9GXBhCCkRJx7S5QlhQrSmCIoCb97pyYjC5FO87Nr2c8ssDo5e5\nYRjpCGo26tjf3PAqDx/twtiX9GRgt7HbuRPbH0ykLf6us4ICJGTqAk2Pixx/\np9Q06IIUqS5/T2Fc7t1nnTv97deaPZZqsWSzOdcezTR5kB/NHETZivMRQJPn\nlsdWdjo4Tdmm0z+uLT5RiQyzYbQrvHRAeEADl41otwEE0PHIUxbypfvx5d+p\n7RDrZRFBah/r0it4DfldcfIcNFcayUZPeyLCd00/h33t5Eb3yc4WhNzKPtUp\nQnih5bBubt10oamD6Qr8Niy+Oy5At9gPWNIWu/fr6iXcMDNlxO4AyFK22fZI\nMd06emLOONpjw8h9FrxaHP3jkBr/uwfI27kMd1sbYz1MyKIszApVRpISnKnx\nDJT50eY3/j7l5K5NgshA0LNI6BnDLZpiUmOVqniD8QG3u57ku1sBFDRVzi+f\ns30u\r\n=Ep09\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHeqx9IaybR7wmvN1/xOohrg1iAo6PFgbdwgigniklohAiEAtYXCEfLSZTxygCNOFRucuXIwtNOb4cYmWWnpRgZAWeo="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3a9c134_1631050283163_0.5941858687963912"},"_hasShrinkwrap":false},"0.0.0-0fb7215":{"name":"formio-sfds","version":"0.0.0-0fb7215","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"78e9fbb3da7fd64eba777efafea889d6a9484840","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0fb7215","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-MJIrxddwHEKF3mppcHFmZhW2jR7aJi1Kv/2I0gtYXV1oU5hJW6vBADfF6TwUk/MNnMpn5vR5aRx8wO5XuyIIHQ==","shasum":"35e6a90d8130d45d4ad68e9bb96221cf25d8ddb4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0fb7215.tgz","fileCount":281,"unpackedSize":1081170,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQsqaCRA9TVsSAnZWagAAnhwP+wdqjyV/WBknjyONjLi5\nybD8i/dudgDPfkKSy0Yn91NqC5bD9dHsyqXXJHz3V0S+ZiXZGajIBtLVZ4oz\njD+5cF0k9rhdNgedG7jU9WiQ2MltFFeDkUEhVHm2rtr3mnAHswjZcmwG2ea7\n8ezS5Wx/fr4/1CHupd2+ggkS1IOc1XUDC1J3KzmLeutWe5WNeYTzkZCzGlFk\nO5LNvFmBLB5cQyEOcP+MYNfb9U+MBZDKwuGY+4EwsOnCU2Pk++XB5OIsCnaG\nvbn3Keg4/htvg+VSDUyYO6b8hhSFUmYC9YaEH3TNry//dwrDrwLx4pElOcwH\nMk8QU9QkyKcMszBZFXM/skcPEmSdqrjkLAI9r/8zpyjQKzycNF9JaTS8u3cw\nBF6gkyKVBFbkSq+IseOSwxL7nx4Xq0A5RTl2NxTnRbWwlS7a0PqPFfbFDsRU\nRjuT8qbojke+zxeAjGQzeNpai8YwgIrXErOgTes1PpLxUBH1CjmCxm1Z52wr\nz/IMTnHjnqtMhNIFWcbUtGmvOf87L2DyfWwg8w7QyegHhg5zc3HqO6bUfVV/\nufo5Kr3svtiCeji8QIuvPaJ73XdJwy44H3251f1fdFV5xgYEkOOouLQ0LbIi\nMJjBXkZ8Uqo7im9VW5W1rP5Xor1X3sJWOnbVKXKxHu4XZMxLbiv2eHG+9Od5\neE9M\r\n=bO1X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNzANhvPaZyy4vH0APO2w7OJQaMRyEll9Bb9oANKO0EAIgT7HFL0uKefTcm/VjTM+cDNKqFb+95cpfxIQ89L2v+ZQ="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0fb7215_1631767194336_0.24231907651382212"},"_hasShrinkwrap":false},"0.0.0-847b359":{"name":"formio-sfds","version":"0.0.0-847b359","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","i18next-parser":"^4.6.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"e7a587b9600e3e19804dece091f4fb8adf47b61f","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-847b359","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-zJSshgwi50sUm3GQ15gr5VhpcY5Fpi2jBGb7MY4eXtEQT/g/+15eGEQL20r0YZ5Re93nqNNXdnS7ELEV1NTiJQ==","shasum":"9702d4a7f09c2f75b91eed52efc87c81425c2d63","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-847b359.tgz","fileCount":281,"unpackedSize":1094899,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQ46qCRA9TVsSAnZWagAAI/gQAJXfcR7hfrfPYZzzPqGu\n+FJOQQbsrdtmozpmvYW0mrsHXgvok6od+2AGWnnk3CUR+8SVCPDfTlqSzPmR\n+81z9OAcrbVymSXwehleFSq4aI935gaaCjD3ZY9MfxjIBIZOrNyxOMwJjNIH\nPWLRLylvPzKU2eND/h0q+yloCmS0sHY8h+SW21RubF3tIprXg+dGaR/M/qpr\nEYbww0lr9nkT+S1UKwZjWSRvt6PmgMbV9rQh+YWK2R+7uDpe4lSdeuJyrLPn\nNSJ0ngRGUJHc3bxSPL9jM0NdTojVAnRq8g5ZT2t7Rln71g9KdETaflU229sm\nAqRPtTCjIuyzetJ+4GQ0/fK4WBbaK6FuHweO6Iqarnqhz1A4kz7r27OeLOJM\ne5eKYbQOECBLpITjQoxxCXVYuZ6WMvEKAi7kIH1MKmVJ/1OkR7ONSIjcb6oS\nVJCA0H4QCH6m4feRfCQBYrudlVUeWWweM+MKwpRQDw56ozAC/yNaO8YwHrZn\n+zGA/V2pteW0vC7vEi3ApAgH/xo+ecJNfech9kUvPMjM6C5yc3KA559rKP38\nb/Vn83A39hPyAkf2gVIQrogLN4doSELXirlVCE8hcNzaSk06pgTmmdExVGLe\nmjpST736BPDFH/Tv0ccTuc78UYkxL1zFzzjhgefTmTefgIi2qcD3xbClljgK\ntaAL\r\n=PDe4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFyNPYnhbFQfaZDyAp7swNgvUxhmwKUra41q9DWjd7CuAiBeIQJPDEcLtl2qLosYybPtllTxI4PVxtih21vr/qgJrQ=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-847b359_1631817386077_0.1324163494294719"},"_hasShrinkwrap":false},"0.0.0-f3878f6":{"name":"formio-sfds","version":"0.0.0-f3878f6","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","i18next-parser":"^4.6.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"3c1e6825224947acc43f999d1cd80329b77b4719","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f3878f6","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-Inwj6ViyVHKgwDHurYs1gCwt3iEhclGwu4UzceF3AdRan1yFE+lBVyVQ5msj/Pxqv4v76nrAGWEBkiss0FDO+g==","shasum":"0183b475c76aced447bfd6e4c4ed8df57a51e8c2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f3878f6.tgz","fileCount":281,"unpackedSize":1093653,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQ5BSCRA9TVsSAnZWagAARs4QAJ5E5iYUv8Hf+NWiq0bP\n9C/4JnBOAopAdjN/ySF6uZkisL5WncU/w3YB/Mb6US/tvr2GaL5/DgBuzfAT\nYiRMJkgLKP0M88xWZ6bFTOAwPWmwgM1V/slv4AwxjH2raf5iEj6IM6H2axZZ\nt0AWYF/l7p+llsIe1IC+qOBNRDp14Q3gr0gln3ycV/6qSevx8mWus5eiOHyJ\ntUVRyyVrmOKUk/pYCqWBjujDbMc3MjanSrmV938i6UdkY0PjQLz0of6Cos42\n5tawd5PWKvoEteSrrccyIDEIlYlvWIyfjVo2XLKnM5LPJM7qeIbpXepT71Yg\nlRPP2Wn8ojXXrzt7qbaVD7iZqLrcj9ekeFfyTRVV7qPyRwykDMkr8Bt4M0nu\nph4KTt3QcKOVTrXNes6WuEIMFqIYj9pSC+j74Khn3tjAvXCdCcLv9rm0Ehq3\nzR8tgLhdi3gtknuAi03u53s8TQiuIEPZ9QmUAIzptJxPtWcrb6t56YWrnSUg\nQhQL0E9Tt1/sh8nFlKSp2VV4wpFdkjgpAnXd7dKBjG9RZdzsYO7k8CFGNp3V\nKeBsJciDhiKKksFrSWB0Cs9yNX5PMD2NSfMmwjoX9omg5bfXwiut9KbTZIpB\n+CG4SX/zAFKiBS+1zQsymPp41oLXNYyx62ytBksnXruVw+5Mxr5kT8CXbvwq\nzGmb\r\n=oye3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDNfBLde7EzZ6SDnVt7Y4abP2HX8uMvnX68CY+i0oyI8AiEAy5Hmj/rJXjgmcvM2Ko6aOaajeCWp2fXf1iAUywK0vds="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f3878f6_1631817810705_0.423889170194675"},"_hasShrinkwrap":false},"0.0.0-6257237":{"name":"formio-sfds","version":"0.0.0-6257237","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","i18next-parser":"^4.6.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"24049ae17d46171c956bd042694575f94a532cff","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-6257237","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-2IpQ96AXtGNr9fHMSHQpw4e3FKtOBcoC+lLYhTJOdkEIM2n960Ow4BGeWltHEJnOAoo0VICR8/fScT3Fb4XzZQ==","shasum":"05bb4d556200143c3d95b12e5b7745dfb05a4b1e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-6257237.tgz","fileCount":281,"unpackedSize":1093653,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQ5CQCRA9TVsSAnZWagAAIr8QAJwdycJrxdpiUMVJREZ5\nodhvrfYVz+6Ylub3x2CXmzbs3MVHBP9nzLgyOr1BnjfVfcn51QQzhWewk1BX\nYzItbOZdnFWLl1SubEPVRrMyXl5WWUJHwAUIhSeHuTwZ3+UjvTj64cMl6G81\n3A75wQueKlb1x4x4Ma1AW89UHM1hu90R6oznJjjZFX7pk3e9OIzffyboN9Re\nMyCwgm9fT33lSrgDQc1KNfniQrOp3MBEBt6mjTibmfGAIPgOxMj2uop7y1PG\ntrl9RZO6o2t5HNIo1nwBPidtMl68QUAYhG60hpmUubgM0PXkDtnKokkZRMaw\nnL2fXT9q+1qiVrlf3yF5hCR7zWvJjXZfCZaJg1FwkPi2Tp9CBM1Xdk7AvEWR\nGtqGYJnNcUX6KVzhv0jQE26vNE8WUGLNdHESaj8XYbvT0AtIsf2CuRBLsC6R\n7v/sxhfDyNQv9t6um0R14ILEvjrjz6K+srad2xhR40zWI4RI+dEOw7f94IW1\nYkVoJB3wNjfCs7Rtsb7e+Yknkan1B3ZO4sJVn5el9cbureRWwDWNoUipcvZO\nsKrtDeMyVKlPpY9g3y9OGa0R89LRGWchMgy/kYY6RBZw6kmVHG1W+ucAa/il\nY5jdg7eff0A36/rkz1jMosausAtfdTAxnWsHbvBvasjyhRd4H6fuc6I5w1TO\njW+r\r\n=t0YF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIaRlyYgm3/LvyoXNZUjbWtD+5lF0lwuKwdASgrLAh7AIhAK4cU/6O2xOSbp9zsK75QHPydPNscS3FpwCMoTRtdgg1"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-6257237_1631817872147_0.34996856366774387"},"_hasShrinkwrap":false},"0.0.0-6b47538":{"name":"formio-sfds","version":"0.0.0-6b47538","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","babel-plugin-macros":"^3.1.0","babel-plugin-preval":"^5.0.0","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","i18next-parser":"^4.6.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"527dc02c97732ca142b7d4e99fa84ed553729f25","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-6b47538","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-/pNHf3czg/xemGyxNGZZRLDDC0xgE9g0TyAYCVxEhNjpYxilCMh6BZxy3p97MPDb2qGpcMOomW3cbygoBrz9uA==","shasum":"25907bf5344c835c1982ef8c862fa2252938accd","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-6b47538.tgz","fileCount":281,"unpackedSize":1073392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQ7FVCRA9TVsSAnZWagAA03QP/is0+msWfIjjFCY+liLd\nzEWXodObaZB4eErlIO+ouG5FNIGWDWHOUixXej2EaXAjjCyGklVjRvZRNi2Z\nlb80RSWsXeUrhUHIV3snsHYt2X+U5uz7PnPUQatZrAJUto61k2Gv9FggZrJl\nlk640ibxI/oppokqgbw+SPwrUa5fQlRk8wWLXH1V2ksBa73grJAvd/QCvOKb\n4jenQPCy9OvzDFmZ6NQmOLHYVt4oj6n8anO7+jqHe7M2XYb30yqULGucpyDa\nxhbbrK8/1wEQHnNZFRlTg5pqcwz9yS5b+Hbr6WWu2Qdv0hnmY9PJwdvTrkuG\ndR+lKMQ3q21Ank4sEUPhmdkxCKq4JFXRQZgNTJm3hkMbSXuG38LQ8b7y0l3W\n49WKJIsOTOrEoMQkXTi3ycCfxB612Mm4Z29ort+EEpwyAABzsQpGPMDpM1SA\nzO8YLSHP/evofRM3bI1SoCr/67fQffMZK/W0oORlrDnveTDCtJPeFXSgqW2l\nC8QvVXZNQxEQ71xVc/bucI59e1hbzuQSBAY5j6k2uF9UK7X8K6vSrhVyfPLq\n7AjMsy/jT0vpbsJ3Vq6l1/l56VTFm9o+EFbQAGEz+c2QRZeUC1L9ey5K2j77\nUi8g2NPPVPVQWPnRwskvnuInFjoxOF10KUpc+/XN5lsOwYQSNwhRHsa6hnup\nMO3p\r\n=/RlZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3I4gvyYQ5J3VxEd/IaTmyi3bZV6YbPEgiKxxOTwjN8gIhAMI9t9xP2XuZOT7HgaYH6bBkaJTsxdhCeCAe2XZ150pC"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-6b47538_1631826261712_0.35489598508491005"},"_hasShrinkwrap":false},"0.0.0-3d805eb":{"name":"formio-sfds","version":"0.0.0-3d805eb","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","babel-plugin-macros":"^3.1.0","babel-plugin-preval":"^5.0.0","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","i18next-parser":"^4.6.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"dc4b15205f6b96188fac7b0bc3d560d0761cab33","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3d805eb","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-f6u4nCGXeUq0eBiDndzJr4X4dzELivHwMRDTTpfcBJ9cppHYeCJp9N/oiSe8SXcuXNIQ7+NDSBh1fJsIkhyTiw==","shasum":"a94bff09bab1badbd6aa58aee187175ea658ae00","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3d805eb.tgz","fileCount":281,"unpackedSize":1058685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQ7tmCRA9TVsSAnZWagAA39wP/2WrX3PWOCVwjjIWXM0b\nDyiYZpTI34tQyRi3/SMcxKdihQDWHdxuRQiKBh+S0gom2jl8uWHUiqThTBHQ\nmMXy5B2fTq4dloo0Tvs6r7iUnV7ajaIxcf3nz8jstBLBBTRRYOxZgfs8isSG\noPI5SrA1C6tP38NMVIrnuev8ulgdVsF1virA6ww9V1FYxW4S552IzuJUHaXg\nWXQTYevuQTyJRt5eGB3ZivtbbT3kACAx6xoDAz/RhtAhOye6sFoNMNw1kR6E\nPFubCpnn+eLX6IX+sJSeBrpLGyYpKvLqBB0x2Qx6sWsCemdl865y5mUQLtdm\nlN44w5ehs/7Z+W+63E8ZW2nXLMF4WR4ec9DamkGFRE+U2HMESVeVAUZRepw0\nSqiP/96cl0NdBI+gHvgyvr0njZZYvTyrBitHMOjaBQe4Mxf/HuGT3DJQ/q+g\nWnM56FYjlrUwz24t8zVfehe8XAHN54mJoGEgH14z069ZHDzvwoyTNlUL2N1m\n6o+yx2rJDrxnr3X6BkvjC2SXQLH45MsRCTvUvaWQB16Q/X5rvXHriXVF6FOc\n/PXLRF7cryFOaillU1trdyUhiR2j5o9MI+aqq4LjAocFfeeG+bUQBmOeM3hD\nh0bmtaDqp8XEgvxMVxSw2nMifw75ugX1EWX0QCU+o0Mg2w/DFFmS7eB0le23\nrZwD\r\n=KRBc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCe2XSqNT0KxVFbfEFjEqHI89jCJf4+vxwBXd/NM6BbowIhAJzbT2om/Z0w+hZVw1y4EyNoknvhUD3uIuZ783/4QvZ/"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3d805eb_1631828838768_0.4754757135435457"},"_hasShrinkwrap":false},"0.0.0-9e80943":{"name":"formio-sfds","version":"0.0.0-9e80943","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","babel-plugin-macros":"^3.1.0","babel-plugin-preval":"^5.0.0","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","i18next-parser":"^4.6.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"f0f5e727db8bf9c61d766e763594bb4c1196ceb2","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-9e80943","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-09BzLQbQQNnG4B447IodJkJNtx7hQ0XDxyGA7tkKpiqjaOb22IZwzsQrPPAZL3tiv3Pih07mV+J7n74hT/s0Sw==","shasum":"ce95d0d53ffd88c7b4f5e31008545ff4648e5ff9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-9e80943.tgz","fileCount":281,"unpackedSize":1059093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhRCARCRA9TVsSAnZWagAAgs0P+wZgPylTSlIWMIlXQDdE\nJD4My6cnOXWs2GHY8VcQZn7qZfIAzQEyggl7Cs9Zq41BmO2ACeH5spH47IEh\n70zaNYI90uBZKgELdVe4yEa/70DJ6rmrf1HH4P3dVcICNliQp4OatkOX22Oi\nDLKBDdPS3KtyZT4viNGYqi+ilnuwmQ7fYTt2G1EIH/0CAyg6NBryxauP+BHh\nhd4gv4UjtWSLxSdmnFixthXUn5JTyDBB+iqspbeGP+UOBJzLyBd6xXqI7IYr\n+v4AsFfQR7HZ3y4M0HsWT0LWGQbVnUZqtGw6bl6LfC7NU/6scWwVcxOSoHIy\nU3lWKYTM8ddgU2Ty5mnMZ5XASDw87/M/y1PfaPUXal2mXOvB7PWEC2nlduP4\naAZWMH8CrsCqZir25Sc/HuX5WTidGP2ywODwFK4zZK5YPR1o9ydiSIyOvK3Y\nm3rfb6L29fUr+PH+Jg/q0pD85Hhnm4NAL9wcXTOB/ePxBzdXG4niFPeneChA\nClLc+voQWhhP9m72fevI7+rzc26fVqFrbAooe58pdVrIl/VKvqAzgeUainJN\n1mjwnOCWYM5fV8sia2h+MhcQYLXiYVr1ko2RgsKZ9d88u2nFhnMt9KhS3yVK\nYRLQfZR3SjCAgLqCcsLiMj5mGE1M5Gsbk+lFT9JjWjgk13Mx77vHIyYX6JAX\nJmHn\r\n=O+r3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5KZt5orWEBm17Kx7FtTffeT1CYskIslapfPKVpl3VEgIgBXlw5T9kh5ooDcZYltDQkQ4g+C/uXAPabrP5Mki6lTM="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-9e80943_1631854609128_0.33937544202885905"},"_hasShrinkwrap":false},"0.0.0-3641a4a":{"name":"formio-sfds","version":"0.0.0-3641a4a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"432dd21512788e8cf37bfbde8a4d1cb042feab40","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3641a4a","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-Wd34aDgGZhR7Vl2iSfCkk1YreaTws4VhLIrpIdjIVtxHK7n6L2muCeQIrx2+y/OYjBcE4rQ7RBSeabx3K4z06g==","shasum":"3b6c45157fff2f6c52b385965e44deeccb020b0b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3641a4a.tgz","fileCount":283,"unpackedSize":1117020,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA4iVu7OA1pCN+XzHHbYudf789e6qfDCoDlrFT1w+5EXAiBZJFHf3RboJEQmDoVK4lsXhUG/qeG/PJ9rLgQDiwfZFw=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3641a4a_1631895798897_0.33371596636102985"},"_hasShrinkwrap":false},"0.0.0-1eccba6":{"name":"formio-sfds","version":"0.0.0-1eccba6","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"standard src lib","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","standard":"^14.3.4","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"284615f9c6b63328e5fa1d67b298a9979e562d16","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1eccba6","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-Eppwi5ZtShbFVQkKe6CABLGhF7RvEnE8/ar+v934f6E3TsbGjclVchEu5dV2hS9DFwQh+8ba9iyx88ASFYOF1g==","shasum":"aed7c50c4b0070ba12664b740dba7b257583a507","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1eccba6.tgz","fileCount":283,"unpackedSize":1097772,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnZi7lEIX+7FB0X9JgUCtFj5GZZW9HNzrqNTraxMu6sQIgI41sg+OYXiIUAw7J3dtehV5YrOR7Q1vihnHT2MbRSMY="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1eccba6_1631898790708_0.14066970857028993"},"_hasShrinkwrap":false},"9.2.2-rc.dee7d22":{"name":"formio-sfds","version":"9.2.2-rc.dee7d22","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"22826f5cca5dbf670227444497d6c8fc460cc1f3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.2-rc.dee7d22","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-UmgWKTv3CJd979N3wVvZSaQahq9iN5xgltmW0i3KG8kW1B7c5eLLpadiKBjl347Sebx20M9hM/d9oZ1XxeDpLw==","shasum":"26699d25bdfbf9da5d4c490ebbaf3ae30432f5d8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.2-rc.dee7d22.tgz","fileCount":283,"unpackedSize":1117023,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC3eIK/iY20YTeO/J9wbfGqKKO1gZFdbLngIRCPjys6bAiEAmp+iOJ/ot35KrXBsKq9mR8NCN8fJ8u/ukIfSY3/09JE="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.2-rc.dee7d22_1631914468379_0.5831242671644032"},"_hasShrinkwrap":false},"0.0.0-bed549e":{"name":"formio-sfds","version":"0.0.0-bed549e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"8b5d9a8ea59419ca6d437ea02c4af6b2545f73f6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-bed549e","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-sVadCeuDuBrS3nFfDdsraxmLrXUdoxQ9pnTIiLZADlB9/jv5qDJ7MXkTPHHtYsDRbrz1TV3ICcrp+nsNE8gCrA==","shasum":"adb49e09f22416b4239e12824d3d512cee4b067a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-bed549e.tgz","fileCount":283,"unpackedSize":1117074,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGxnZasyEXQbrZsUmwLTM9o9WyWT+mzZxBSj1wmKH8mTAiEA4sMcbEXil+k686m9V+QvLbYrsuw2VNDOAcc7idXoGDQ="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-bed549e_1631914481715_0.8036799783355761"},"_hasShrinkwrap":false},"0.0.0-01cf6ff":{"name":"formio-sfds","version":"0.0.0-01cf6ff","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","babel-plugin-macros":"^3.1.0","babel-plugin-preval":"^5.0.0","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","i18next-parser":"^4.6.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"9389e0f29c27fa2ad27a7b58e8094a1beb93d647","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-01cf6ff","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-n7pepEEhmstaxJgjJrYpdOF6JZpRNF9L4S7gax3/GbY57sSZWVkiNySqoAFB0f0V0Kao4jH7FWtPd6abFz1k+Q==","shasum":"fe9d454c643f2e95a0fca811a2e11ed4561bcb85","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-01cf6ff.tgz","fileCount":281,"unpackedSize":1078927,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFs5lgeJDbUfcfQfuLicNQ7tIeidZa8z28Xi+kriudk6AiEA416OptUWIiEXzKzHM6v9TIMpSK+zTtvcXesGkHr900M="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-01cf6ff_1631914723008_0.34057483941726185"},"_hasShrinkwrap":false},"9.2.2-rc.5836619":{"name":"formio-sfds","version":"9.2.2-rc.5836619","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"9156c6b15df1a65b4c051539973024e4275852aa","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.2-rc.5836619","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-gDzUvB3tvjWnTRZbMjlCeYLNJZ7+E4HqxWdRjmB24JOMCZncspGGM56nO1IZIPl0hioLoy7XBIeMsSbG9rHLNg==","shasum":"b963b2facfcfc3a27fbbfeeb75466340ec8d6773","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.2-rc.5836619.tgz","fileCount":283,"unpackedSize":1117077,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDORiVeJUgfQxWveZYSpFow65xm/fzZeajBlyrjTqRgswIhAMpw2pAh1xtdd2f5mMiq4xL2QzXy/ovZM0yOO5KOdaAF"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.2-rc.5836619_1633473263656_0.7310629960221147"},"_hasShrinkwrap":false},"9.2.2-rc.a84dd0b":{"name":"formio-sfds","version":"9.2.2-rc.a84dd0b","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"49e1ce9858e34e8f6310ffe59787e0b9439234ce","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.2-rc.a84dd0b","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-4J2fVHraQm2Z6t5v6pCxXPrBmBai0v2jVVsYrP0zSKKtKraIGFmLa52nh9iRaTrhLuCUU7jSOLnWR5JiN9sHEg==","shasum":"11226718af5837079008fa0ac1e168982eb6c2f3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.2-rc.a84dd0b.tgz","fileCount":283,"unpackedSize":1117077,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyDNHcAhXA4r5makkIoSnmUhuLsJ9P+pCYAkK59gISogIhAKqoAzuvz5sQuDEhNQTunUBfgbsUPk43BLOPfBztOMHP"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.2-rc.a84dd0b_1633473503677_0.30772910552607713"},"_hasShrinkwrap":false},"0.0.0-4bdb312":{"name":"formio-sfds","version":"0.0.0-4bdb312","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"a35a4b553aaa77a2ff4a05c3a1ddb9cd71fe558b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4bdb312","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-uqp68fokk+bmc9vsgdIqoc1YMPzNvzAKp8i9IZIaz2rAGHfq5nv/zRaCrozuP24uZICUYO45bi9VqjAdmSGq0A==","shasum":"128d143eabf3538905f7850e6a354e2f685cf95d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4bdb312.tgz","fileCount":284,"unpackedSize":1117265,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGLGl5Lm79E8/6x7PXDfduqKVj3slCfwdOr7FR5Be5V2AiEAwnOBd2f/hJlrOwm/eLJry+EI1646J6x0DIjHYIndjNo="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4bdb312_1636156001869_0.5889657552324838"},"_hasShrinkwrap":false},"0.0.0-805eca7":{"name":"formio-sfds","version":"0.0.0-805eca7","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b126ec59d777d3041d1925b5ee548f758de0c1f6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-805eca7","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-AM6GC6dJ+FXOunKzJJtM6dNgrqV3SdHdTnSHFrq4lXZNUZt5gsuE4aozuMWA4ti9/YddaQWV7PdQygIJXzWmJA==","shasum":"dfad9654ab2305b73d6c10aa59b7e18179c1fabb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-805eca7.tgz","fileCount":283,"unpackedSize":1117060,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH38LLEUjwa/ZbnXRwbJBMRj1PtYZ9gZhTpTXiPn0GDzAiAycB499lyxQDYcvQ7hc8iDBcLWu/VOlRLjzNof+VxkVA=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-805eca7_1636582518009_0.8804665799083806"},"_hasShrinkwrap":false},"9.2.2-rc.0d8df03":{"name":"formio-sfds","version":"9.2.2-rc.0d8df03","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n","readmeFilename":"README.md","gitHead":"b545f4e14edf21df8055f3164d32142df8abe967","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.2-rc.0d8df03","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-CJf3K8xO3E0d9lynznLijxztC80XkOo0/dTj2u0TMm9ZxjBmFILVo9rVZUd3N8DsW0OujBOf8xYlzTRZhZDlZQ==","shasum":"63016c06933a7c16521e33b1dc984fde089018db","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.2-rc.0d8df03.tgz","fileCount":283,"unpackedSize":1117117,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhm98SCRA9TVsSAnZWagAAv+cP+QApPvetUllYDUsQGaOU\nyE6pdAmGe8JL46hvbhhdCF3RcXR8jd5b3kHpJfTYKFfzu2wz+YbJYNcDvImZ\nP9t4/vII47Gu0H+PWm4O26oNOUuvAbTtaM9Ar79BkE50ktYYSAB4VW5MuDxU\nbBgChBh2XvhMj3z8wwsT3EgeJVODVh1db823o1He7DNodvaAyh5QXjhtCVdm\nh4oMMopoykibcVt8Sd5/FC/2r1uj7ecQPhygHo22BFJMso2rZ/JmvjzXwDVw\n5U4BmNYX411Stkb+FqdgkUKecccW2uoUIu9wSOZiuZkvo8vFPZeFyFXsv128\nqcDZ6cmHn4n/Vh1iJjJKeXjI3Y+gF9PlC/qZF0oTrhEYaAungDVQXTxHd87L\nsPJdO4tw3ByD5dl4a7F6v8RaPHc7y3cELcgk1V8xqzd2paH8ANDRz15X/Tsg\nSBsP42KE4WHw54Apb7K/ooFgEmy40IK/C5HRQSaQimR+gQw5pu6Q7hhcO2Kf\nAdirwpudidhNkdxFjBGlDWQ2M5gBq3mX5V15SSas0ffv3JK6gbC2kTEXUJqM\nRRrY0kgekQ2cH/KXZcWYRqC8JNSW9ptvAi/ZNpkWu4wq6mmGeTkckrF5xM8X\nOJJAnCARCbEOX+Pc9gzYaqQGVxq4kHBtMi6jCJClBhCENF2c7oKlf/y5zSef\n6eAZ\r\n=6wUy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmdu4/s3EE2eS4edsxuFabQqfPIk4iOldyPqEhXFaIlQIgP+iYjbIZYRIMx4P18TlZ5MWXWEsDM4Ec/41bVRbwYig="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.2-rc.0d8df03_1637605138405_0.8311690482267176"},"_hasShrinkwrap":false},"9.2.2":{"name":"formio-sfds","version":"9.2.2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"e20219fd601e3034d851b0c0fedf3273fe6ed4e4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.2","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-GgKzpIrYT9RsJRweJQ4lw6/kFSi0Kcu37dPTuAz95LY5d/Go/0tb6caahipH0gvwY22ofRKurGO1J43DbAwKQg==","shasum":"2c1967957182976cf25dc4d70e051b294cca2915","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.2.tgz","fileCount":283,"unpackedSize":1117106,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhm+CkCRA9TVsSAnZWagAAObUP/1bp/kJn7pp2RVIc5lNy\nibT50XESFFdZFb6lbYzgrTNm8fLWiBRWLTLzOPPN9L6BSP2VwoxeLvN+OVou\nc33GZP0RsD9WoXQIlkj3jFtvXIBTocSYLvoDFF7aeR+6sqTnEFCeOEeux+DB\n8TcPsp6s+WVeKGHhdHcZujOLZ3bAXgGb71mVUZA4JqKXz9zAuN42ivioCuUH\nv7XGVz3H9pLi9xUGP8/Snn9iqnzEgvlau6cAYQlx/x+ewadCLAmObePhei6s\nKghyxX0YkMAQE1NruFLnHqW78f5pzVCemH0gixZgaHAdZ4295VD5KUoxXjxD\ncGaELs25ZJo06fe2ESPfnJk9YLuuP52g8UrhnDFcW6ADy9oKHPKkNxAZ5l0G\n1+2iZ3pcAFQQGw2AVXIQ1jRCUW0WKSCD/FLnW/4ozuIwSOS8rG5IiAxMLPRR\nwliOZF5F7s7lbmhe7KfEPFSx6RM6t4be87Yp/Gy+D3ghTHSATD7pYkWe36SB\nWb+jXbqOEtPYpaIAgP263eR7EMgPpHEvKJjMjpi/M/Bf5j/avXlLor3guIur\nUDSC2ApThnSRnkE+1Z2TjsARr6XPTm0wR3mcqq5zLUQqS+ivMwWPyn7DLGxE\nBkAIm+S5KOMqWh2ByZkzwdrgtqm2kdeGCr0uphiSJ23q0Zm8qivYiZ709+bS\nczYH\r\n=d0iH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHjJNJXgYzFJApckLGma+5KH383P5lXigFyVGzUTi6kzAiEA+9mUtGHNkfy5ltdpddH/ObBs94eYOvisyXv3Hz3LOoM="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.2_1637605539748_0.605779994667452"},"_hasShrinkwrap":false},"0.0.0-862d25e":{"name":"formio-sfds","version":"0.0.0-862d25e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"cb95406715d528a79292c2d522d5c678f0dba7e5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-862d25e","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-ZYF07yuoaYe1qu0HCwI02KJh+fDkItRPc7RPO5sYSJLyzKTdyFlJxTf31HqDc5AIU+kaKG4WUwnCSufjAyABRw==","shasum":"5d51e297deac2093a237d9e9528760db89becd8d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-862d25e.tgz","fileCount":285,"unpackedSize":1119100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh51KmCRA9TVsSAnZWagAA9OMP/2WJ+GU0+On4g5VYKmRD\nnrk7vLcqereCR9Wi7H9plpdueo0UIi6bjgxm2s+NjuyaBttor1muHXofvJUU\nJYrZyPMq/1L0Tgzz7szADryrsCJ63wNBr32jZBDDWkqJI2dfM4WOvJ1mKN3Q\nzbmJXeDoOqGEAB2bky9C6GEx22cUgMzin32tvStI0G28PmF6bTN3Q+9ELhsD\nawbQUK4VKppBlJx0giQUKDZFiblVocFkgpZrVCm5d56suvNAZ/BsZJg6KDw9\n883iePiZh7XsTZBpnMnEnElvLO/nSFdwNkpK5WmB0VAVtXs+dUKI3rjn6u4l\ncgKjKauSJ6nBsPEbuJKu/e49Hl8vW3rEiR8X4BKDYLd0HmqfLF+h2NehJAw5\nqgkvRDE5GWCDapuq1okl06rGjCc+Y5X1KrEFyuN2PIOi9TVsSBXI5qilzWhv\nKrcgrXr0LmLxHdTs8ChmCF7W0NJXQqXZrbb/WcDnRT/3Xcdxmey8EUG9kVGU\nm4BIF8djCvodkjPbvsuHL/Af+iLZMnA6pA9CiVzPI10drXUSzA22BsW/RMuI\n0qpmH5RvKgyyGt8WWf+pbPQHAPXBneG5qKUfuMiMNgfbGaibVg0gP9AjNPdU\n/69+uNGs0Ua8kdPkdT1xXr2nBwmrvcBgnsG5RH0hekA94bcEZp5netL3VNKP\njqoU\r\n=Uwe6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfDpFAK6kCMUvJRJSG6vxvw6+kxN9kSWrDlAyVhvoZlgIhALNX0W7Z12i20Ml1ID9l+reSGSORLkOaZ+ydPzcXISuR"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-862d25e_1642549926298_0.5582715564494574"},"_hasShrinkwrap":false},"9.2.3":{"name":"formio-sfds","version":"9.2.3","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"d4455d9c0ec63c3418f9a45dc0f91ca2e52ae4f6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.3","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-MwQ+Fo8zFn2fHby5JqApDDFngzWRWJc5mnlHWu9ZF4kon0gD76utq7EdeNjhfiop+nA/KdGx3iJEaXBOBBIZNg==","shasum":"0ef9a78641f38cf8a615de35e2c5d3c145810ea4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.3.tgz","fileCount":285,"unpackedSize":1119092,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6G3ICRA9TVsSAnZWagAAqw8P/Rvbz60H8Lq9GM7P0LW3\nkRsU1sQn+SxmdMj69katkn4pbhJyaDwT6j9d94yE58++PbD4eYKZZuYv7cgm\nUEWCzN+WiMjuxiitdLKXgHWvjq/H5pJvNfgGgZKZ0lYPhPz02gsdBITMnpEw\n9ARrLEbI3RWl8rRj1onxZ8qb9K/6wi4/6adNwIwmbNmFvi0kGcQVqi5uEOAf\nhqeotA+mCC6rvZwGcdqjPJs1BK42JN2gyD8e34OxnqgCxyZ5Z4qOhhzjd9jD\nQEPfqQ+91cTAjEQ58PhaDdNDixAlwe6zVWa8g9/O0fcyfVbFWODB1uSeLb77\npY/htLjrJDwF+00iSqFJTI/rcMjOD41I8PHnlm60jjIMNlGYDbkur6Bj3g0f\nNxRNhy2Nl1GkiFSIvKSyeqLsOWajs9bT/SdgWv6Ux9mKWjW5I7FlFRaPnW82\n7PdPtDHPH7uV2SOwDNJxfAc2FohByM48sXfh2Yms/TIdAYk+XjnYSlnYentu\nxnbJeBTrBpI/VKhU46e1AE+PP72eX9gu1ry1lA88BHANkXmZO3ZFh0q/U0Oi\nJzr3ekSYmL5wWwqHaDjaLchsvYQ++AtHF0PryVVyWbKjrJooSWkgwQIK79Vz\nwy6zSCiG1hiNhe/gMd3RUEEkQG1sFGAw6vz1c7GJhhbxyEdRhSopJ9kLlWt5\n3SAP\r\n=yYCz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGhajNhS38PjvY0O0WVVWpAWLhkl83fjkA/mnvtHq7c+AiBGorWtJ2Hl64xm+50WC7DDG5OXdQntlPsOd1COl8VbbQ=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.3_1642622408161_0.29616939588900393"},"_hasShrinkwrap":false},"0.0.0-b65d3ed":{"name":"formio-sfds","version":"0.0.0-b65d3ed","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"2f8d183fde65e1d4b13d0ba18cca720a8de529ca","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b65d3ed","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-4DY09LVSWDnMBy2mKWVEeLCCNJrPMqU9B8fL/8g0bxZeYP8ugeD4CGjNga1Xb53ozS5XzeVWoPLMAM0tIFFDgQ==","shasum":"08f05db7398c695b75bfb635fb01f9b3d76c29fa","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b65d3ed.tgz","fileCount":285,"unpackedSize":1120318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCv20CRA9TVsSAnZWagAA1z4QAJ5synQcq67knWZ1eD75\nCC30MBqYQtJgnda0v157lWEa7SXnBDB9U1hTrSnuElsFfrR6LnMT4puNhcsc\ntmoSx4WBjsiECcjUeY9s2ZkVlmE9XCFychsLAF5kSCtww/b0tUzZyi0jw98W\nN7cnkmApo7otKy8EmPTvmANwLoAEjZ/wat4vfUajbYmPxhBh6NkfTT/QDf7u\nixnpsaM2ojS9i84Q3ow21eZlfhbl8XUmWPlIW89wdiYT1XlskImi5yUwjEiB\ndk9MvrrZmAYbGb2bzf2+E+r3sh0jwhARaW3pNl0uRrtnIAuIyverBwfln4nM\ng7dCwweXqo9dz1jdHSd+zlEbSK/xGDhynxC32hcKmTI71A3XOd2GOeJHUXK+\ntaISX8PSTkQ7VLneEmOUf4ZNRRld4kiRIC0YkxjQpw9clfrAeIzD/ybqImzN\n+6ppAMOf/G0JMHQ8wBtEpscrdSMOlZb2eCdHL3IPglI7TSztf7KX8N6ebDyB\nlMaur8N8U0H7YfjusZBmnRjkKgHCYUj5hfalNOO1zYvWAibifWU86gHCykGv\nxBeGcsb5B2BuFY+VYSKCBjt41P/4hnLrxvfH+s0reTB9R1vlZgfaISi1Qiyj\n3Lrdg3KSYI1hkHg+Nc7ZvUYKzXJm+suhhelnbpH2w/CLUEtJ7hFRE0WnjQDW\nBcwS\r\n=pEw+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD37lOjf0NPSeB8FNT7tgSIxJWFoIQmCnfkXfhm9yzD3gIhANVlUxPVZ7yEYyVLYFCu/zZsVnE2b/rffUGJMrNkQGsV"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b65d3ed_1644887476651_0.9125671829841373"},"_hasShrinkwrap":false},"0.0.0-ff649a9":{"name":"formio-sfds","version":"0.0.0-ff649a9","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"edaa85310780fc17af54baefd98d92520b338e37","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ff649a9","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-lX3LF7uTYCe1W0Gy36K+xzrJJ3L4IzhC5MLcaXYqh80Ajkvbd66Gc7zMkdqXBA7zHHwi4ryrOGC3FTtsOuMhbw==","shasum":"caf08ff893f204e8976c4595d5badb2323b3d921","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ff649a9.tgz","fileCount":285,"unpackedSize":1120318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDDynCRA9TVsSAnZWagAAouIP/iEiLAWVZU28nsQDHzKB\nW42wJ7k/yQBFkdVy0C1bgNJMkC8NyN/m09lrJo2hO9Y6LCW81att6ucnapNe\nDJX5+s+2cmbQcknh0uJJod84YFO2nzpdFFM2t5R1PQsdUwwC5vgLVXWi0chx\nICNnE7odSUdBvAz3X12Rk0IvMf38pf6LCC+pgHNBlo23cklltfEUDYiLapUt\nuwT9hXmjQGfd2Ss2WCfuDLRCduHF8bpfyIKhTPhk90df/3Ior5F2X9FPTryM\ndpen0fTgXnMTKwuhcdgzk5tsPNFHyDRuJFrsuERMDV6IVLZawK0w7b5WCroQ\nADGbTrLrQH2dbpKPjvsEe70HoPXkzWvBC3uy/codf7Q0IAeMeZWUg/BoDzzv\nXTPM2BCbwjKFofJLiFELvzz4WkQQlinmrp6EPRsGrdEPbSJsSI5sBfLeLoJV\nd8fgvE+vhjh4NeVgHkFd1eoyeB2s4wdGyJzwYXubZ9yfX7kRTlL0FzsXs1xi\noJnMucyWhltnVY+7sdEw8CDtk8KZINk49D11EpEBpWoDa/ikLq/jpCKbYRGH\nauZZnJulvTKCrFc/rWJf7KPS6vtVLK63eJ7xXYQubVggvHHnc5ztvWBabRb+\nV4t9GqPcUK+6mVe1Rlr/p2h+kMIAJRgQHzRHiwsYC0HJPhn43VRu5N5zY0uc\nTuhy\r\n=xMHj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICq6zmNWeWYd7dS79sK61tCHhcLkXvtzlWnP+FvwWygKAiEAuQavsRQLCp4FEeP0bMPrEhNUeYO+7rsPlc2Ay/IAVc8="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ff649a9_1644969127780_0.3978653216736854"},"_hasShrinkwrap":false},"0.0.0-1b3e8e6":{"name":"formio-sfds","version":"0.0.0-1b3e8e6","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"5a6cb6616acf35e44e831642f23ed0e0a6ea5d5b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1b3e8e6","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-3DlbrnRAZceE9w6+9DfRgO4PBytCjc1Ufz9cpkzBZI/o6aWBjbvoR1BGWzoyuTSHz6SPm3XkxgJoZ/gYi8yosg==","shasum":"188855aea8046e0b182fc928652cac84651da04f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1b3e8e6.tgz","fileCount":285,"unpackedSize":1120540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDD5aCRA9TVsSAnZWagAAjiEP/1LoL7qouIdZof4BQn0s\ngV0qua8wzNGA2NO4bAt2r+tpPmv0OYtwSKR2xCzxv/xPpK1jcQMBkxGziZ+Q\nj8N8fWN1fwxcOrvDxqXRIChWQnza0jYFFYJz50M5T791199B5gkes92xsrYs\nHKHwvBvWVYffYSAsmYFzCuSC4Yy+PWhlvhGxvL8MPpm7Fr9ORRcPrp9qvqIQ\nwNyHKA59ATEZjN8dbpYhvlusjGVtWafArnuQCCoZo1VsCO6HyuvWSYNsTB/a\nqZO3+2ora+bYUAZT9ufqeyHQtrkcFzzXEjyI/6+7lA1X7oKhHsXBUDqZVq6e\ntxU/+hAVxqC9nD5Fk51B7POwqnqaxVO/Fvgrzot2kAZqE4ABjg5jGHp62E8d\nH8YLfmF75Q2RLeBN+0XLD1xxVxAOAIu9Z0kr0N4GpWOtxJkr53zxSWPY0FFq\n/adb5yh4yZF3EKVmHXFVJgQGuFG9kL5DH0xAKGCQ19u87+x91Bk7yi98FOp+\naU4V2md4rnCLVE+oBFMuxXDGi8R1oSqkPBVKOZaZhIdXMIHGnrZ3MvKd0j9e\n6/SwmerGqg5IjJFB7wYRBu2IhJXDZjMd7JKuF1fuWDv9X2P9vMeu8PGO5rIA\nXdKLqRDBWhuUGTvl7pVOGeFX5YONhUEIIQhGFB9KQgHM82r2d1fAXwwjx/Dc\nzb+H\r\n=hX6L\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFaRvaobM2InqpfB6pSGhlmziLMnubiFpxXz4zMrNYeqAiB4oW3/RwG5rIp0o3rt0npic0mYekVIXyTDzM7DPDgrbA=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1b3e8e6_1644969562707_0.15441826535598557"},"_hasShrinkwrap":false},"0.0.0-b5752fa":{"name":"formio-sfds","version":"0.0.0-b5752fa","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"e064b9edd7122efdb26eead734841a98047b1f5a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-b5752fa","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-1cAOpVzr8G0OfNMl+ickppXNDfBTmKr/+BK4/ZDYCQIhb7JfT5V5M/YnQwMhx37JVmAfSDUFKO0XJABlf7yAFg==","shasum":"a513ed7c9392ed3d16696ded71515c2e448edd1a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-b5752fa.tgz","fileCount":285,"unpackedSize":1120594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiECIFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoWOw//RET39refP3XqYW7Bq69ZR5/hP+Y6WfHcfuVK1VtNJhHoskqk\r\nec6v0PE3lUaoQ5D0eILRjN1IweEj3sB4NEW3ya7SzdQn2q3UhBUzog8yXztf\r\nxIs4ahH4KwCqy0iHVdnGFDDGTnTvRGSTsIIOpNcd5/+KD4s/21I2DY63RmBl\r\n4KWPnQ93qLmIpoG9l63g4SgPIM+buwyrfDsrC7ypIi49YMx32JgRzp0QLac/\r\nl1Zp6u/F9pN0Z4bZ8hwyjwiUqBugP0ZUZni7yIJ3NdFddCq7mKVS17AR+3r7\r\n1MyxKa/0VTZKRJZDeoq627FRD1r5DTCG/QtlhM4q1ICrauIA5vvExKM86790\r\nHjqccn/gu/EKXsFCRxQl1qjzfP1M8zCJ0Eh9obis6iZnnd2HXwIBwFO41O7k\r\nCfD11a3JuZX0f+Ng9wLhzZ3b5RaE2eJ8fHbG4F3URViSZPFdKa4U9zTXyhHb\r\nPnhyp5Rw04pHFZN++vhW2nOOJEQ1ahcuGuAgajzVafvdHhPHrtCwlAOmajHY\r\nIYJ/au6CnYH8XRQmtZayVp3ejbmmcHYqaR7fWtk727Mn1X//fttmiO0Qw6oC\r\n9ys06NswiWaDEnwSCZDMd9ZlMNAvlsi7sRzjbeW8W7zF6x3+D789/aVgX4Y6\r\nQzTTH8QMiO595/EVylxL5BdNbpJ5rhnFL6M=\r\n=L5Wn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEhhHgFGV4+FyZlruWnswTvvs46visEDpAs4cE8cRgMzAiEAumKboblCz0SsR4i1SHLgEI9dWJTbEpQm50URp1lyFVY="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-b5752fa_1645224453199_0.7069891019401853"},"_hasShrinkwrap":false},"9.2.4-rc.1133714":{"name":"formio-sfds","version":"9.2.4-rc.1133714","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"2b2d0d4c652fe7bc17b98369c0188daad1bb27d6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.4-rc.1133714","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-7gBisVl0fS1ApJVKwK8NqryRbw8wth0eA1tH8pQcmqv1cl8xFTQ+fQfmlCihXngGhu1u0sfTv5QpQKm7n46u/g==","shasum":"98ce560cbe85f6c011914e756a80d73e57895753","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.4-rc.1133714.tgz","fileCount":285,"unpackedSize":1120597,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiEDAxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmriOQ/6A83hyfzzYWtp/n9fQ8aMa8LnKBo1A0mURJjHovVNcDY6McG5\r\nK56E37jsoalaXv+2Cal53VbJg8vAXJPIqZTqCcH5RoT+EgVVSC+DA/yzIWD5\r\nGiZ6b2Mi7sdcZuqIWrHkuMFPY8ACqMITRKOPceIQUWaJ1U1BxgOdZZmuWr/u\r\nWsYVgc/wKuuPFWgFznO8VHgSvte1Kt/7H2g7xOG0pP7ZTNXsofEeOjHmR7BY\r\nlfGCHvWx6XsN+lMJuZF7bs/UyQwnmwvCHpCH0nt93yxh5AXpduOFNQmLfHgY\r\nQ0acsACIWDwi4wQqpKK4ybSaC5tgvlaX/PBhbRbWi4ivkpyz+Ds/EywzUKLh\r\ntO8XsQpeYc6j7zab8t1njAyneDc6iRu2tpnXbnB7lF17YLImvx3vs8Kc/ids\r\nwwDgITx41IPPVwHFXi7CyHIzdf7Jjl5e2vhIQSgGENVLc9CtYyqJwGsPfKwr\r\naOsohZ8Zxd9Rbq6OP9K81R3zH8j+sPazUEJ0NLBx7OWEHYj8zq0KJnVjvXym\r\nfuCLlvlMyeHsAq4TPIb27PNZ/pCJsH+qfEd6WTwAFetihdhEehkXY+e2sAse\r\nI5Zztd78FQdzj4wOYpVYZAnDOVh5Ix51FBZhHJ5a1tCNVKiEXmRAN3aDpz1L\r\nx/QGWGvvhSwo1NB5ARj2lZ2T3KRcPv05bVA=\r\n=7Bpl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIASodr2Tp57NNi6Gb+qrUROmi7itttro/f3a5Rg7MysAAiEAsgjWRoUvTxGa83fzuouqSJwmhSgIHfX8BzKjIrEZn9Y="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.4-rc.1133714_1645228081761_0.6874901225354115"},"_hasShrinkwrap":false},"9.2.4":{"name":"formio-sfds","version":"9.2.4","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"4bc80fcc8409e881917996aab11d83f227201fc0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.4","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-mEAknfcMbvzh3hwcRdC7umYSWKIj81hA6dxO+eHKq4wjJfT489R4ZWKq9Zlu0VK5oeTRsoeFo3ABnE8H9ab9LA==","shasum":"70a31a69474584fda9582e665b90cdf5d7c8b074","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.4.tgz","fileCount":285,"unpackedSize":1120586,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiH+20ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoADg/9G6+vAPcUo3E1NQ3t6aiYOtteMB/BP+ZcY1LhVHbDKYLP0mM7\r\nRw8HA1fdD3xcJ6VPQ6xFz5TE6Yzcial/39+Qr8koW4W2AkQ1NfXcxfUzHLyY\r\nShHy1ova9x/lFTylL4svcjsEEgPQBlaPDxvxxGcaD76Oz4prAdlaE03YLv+S\r\njtzvaZVNLYJFt5xO+OnBcW51U6wcpH16ZJm+SaEH9/klpkBLhkPSDJZyZGeq\r\nGNHNE1+hHyUyjL43Flue+yC+Tlxv1BHMzZxpcS/bxD4LYvS044bwJwsP16b7\r\n2vrrLwbSFa9RgXh4b0tMhYR775/yXZXH6SMGHGqdroej/+xiuDlU46frYfIu\r\nfcVRLXUTAgc0qw+rYrYgrCtDeF02drsrHDk1UNbMbzb1fJ7odQ3BdlV/ZOpG\r\np8XucmXoDDjmvRfoqwH0T/zSUzFHmPPcp1WiBfm1t/rHcSbEpukeXOfxedyW\r\n9c0EzshiMAVc1etJsY+BOP4wmP5kGpJtrh1e2KAiIgJ/sMuxYmnmnjIZj3HE\r\nZwR0nF9oVsvLK4uADu8Bims1P8Y7RC2WO1D+r2X5Ze5DTKtCRCRMNJkK3NYI\r\nYykXm0HnaSpqf/X5ou1IL/V4k/kdZsFklJYeeKRRhz50BB9AkVe/5B/hnamJ\r\nLmPjdUhOnLSWfEiffcktBn9LYSalrIlsFWQ=\r\n=C2Ab\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCq8ywBbAWa0v4KqK5CCRjHIxGZuDWo89uCMq3dZtkH7gIhAN+SII8ny7XkZKpfGf0ybHKnq+W9ZF3C32oAvoMpgpWz"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.4_1646259636392_0.34405376137799015"},"_hasShrinkwrap":false},"9.2.4-rc.394a636":{"name":"formio-sfds","version":"9.2.4-rc.394a636","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"a6c63ffe4332b2383476bfeffb843ed03255509b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.4-rc.394a636","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-BCTt1Jc9IOewyDPSI+OziFlhHFmHpuA+pHqnc4v7gTSvzCgqK7Gu0viHiKIO3YsI7CkkwQ0niYQtLa3Oxoof4g==","shasum":"1b94a3d80a52e80c3c1a4720bdcf7b01a39c4cf0","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.4-rc.394a636.tgz","fileCount":285,"unpackedSize":1123044,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKOktACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqdZRAAlH0cCPr7GlvJPpz0j1bpI5PeNfDaCQOhIpyCKUAf9PkqXLYc\r\njMBFojoKCt0bHixaBYjVDAX9xGuKLnpsauwBkyDrxDd/F4Yu+EElSgCyC9nh\r\n/g4NNkNMS8xJinQIvte5WJkqlU+fRjkVxBfyxDQXZntNFWl/+Ulbo/cel12M\r\nKP7AkYwM3C09wxdeyeEUNt3L1sTe5AOMAL5SFMyJTAcfELxiXj6iASmeCxNY\r\n83LQUN2oeHg0OaONdd/HytdilGsNsKasg0MjhQ1rw2XEFfCQ31u4fCoP/Sf3\r\ngjY2oVIOBsYP+C7CAwG4IXB0OFPEzW3PaOm+JHAbtWVmIzmE1VNYGDa3GGcd\r\nERgtkJLEMzVUxxmlBCSEQz2utE3bzbBoAsUfQKKlyEdG3R4HXqM9Q9t6Zxeu\r\naAkVXiTdbHs809GnZ34MxvZ2gR5psfgbIC/sO+NWwRtzWYF6JvyqwqPZ1qKn\r\nJfqAllAKrUslApRZErySS50PrF50xTU41AwYXzWiYCLNKCXvVBrpQc2jWbME\r\nDduXLlY/ghNpAOcUzviMWFHSx2W4Q1xeUJy8g3DqczPxmTEQgDy7elQrOVZI\r\ng8/YCviOQReE09NgyhW8Qk92Xv6DxYd5KgXOBmMC3O/Jh/8DOtfr90jPhCTg\r\nwka6KEIZTljF1sIauCY0g/WId6j4Zncsyew=\r\n=3tu4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYdMhBM72IbbmcXmg58E/vOhJVlinoYBnBzPTH7CejEAIhAL+K2VBlXozuafjzPHsCvgu794LpKC6/QzydhItO5T9k"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.4-rc.394a636_1646848301032_0.6045286380352877"},"_hasShrinkwrap":false},"0.0.0-33fc592":{"name":"formio-sfds","version":"0.0.0-33fc592","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"143cb74eac26c3a572ce510620f012883070163b","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-33fc592","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-MqohbxQsYusDuNHlEmdFsJZI0oMjyw/ACVd5qqO2a0wdrHyk9VKBeH0CWYf4BTNLR4fZMDPpk7Dai0YNba4qgQ==","shasum":"ee18a8d1429d211be0f53cc00f03873e7c947479","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-33fc592.tgz","fileCount":285,"unpackedSize":1124109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKO/PACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoo8g//erp+jisnuYvYJ2XyxSuHv5HCs/sj40TVXi03r7jjKDL+ODZY\r\n7FbeSfa+SJ+5ecwjtEYegCI/AoNyTJ/Fk2mVLKmIg4oZiB7Ptpjf5057AnXP\r\nTYsnsBle0AIO9GCvvHkgrow3fFY1I962YwOT1thCVdjUS8r6WmaxT4ZXDZ+q\r\nY07Iqly/S9ZjtoRcFXnEtBJOPUu5+4/56v5f7kguTfrcEs0Cid4QWOQUkBEf\r\nqXJa4/q1NSMOY01JWkHF3qliChw1K3ospPF98btyJ6Af0sMj2suWWUlJCnKv\r\nC5ToG/24hkTuKtO7jTc1zDrUt0HovyypXhTQmIaEBTtjNruyNSiyoxLHKGtg\r\nKqwI+hr0Jn1iXPwISsrF3kX8MIy+0gXiZ3JUwWom8BRwCH+mxkvSgb7JH6rg\r\n/zQcTZ3gjVsdF6/ImlUD7RYfn/RyTdxVp15o9b6cnahD8kjDB7qhBo0YHPk9\r\nz1R+ov3JZ0lGUdL08vMGMjHgrh+062/VgAShfCCoLOQ8S+VAbMc3m4UEAk/z\r\nvqN2PlAAoQtyP5JMDw0HBYFBWfoWS3xzAOA4cLi9e1vRjYEKN8BrNGccbx1o\r\noIhTD2ssNSz+3D+uao1prVDAVeC5IqrdW0TBaMrRxKpc6saIgGn18V/K3Xhu\r\nGigliXYhawgFp0xG/Ny8w50b5Vb8ivD/pMg=\r\n=QU7T\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJPruTlxtWH64s/gND3KKlSIvsbUofnEvOAZcEYRKs2gIhAMNbcZF6Pro849FjPbDUbncG5tdbRZjN3fosanqdEWdP"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-33fc592_1646849999419_0.011835704453582174"},"_hasShrinkwrap":false},"0.0.0-95c6bb7":{"name":"formio-sfds","version":"0.0.0-95c6bb7","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"89b3b10f034f91f4b07556daf7cfa221673dc791","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-95c6bb7","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-9mIPbUR1Ij3UpaCu8saOk7eRueeQWqOid2Lkg3aJCNhgsSHvlPTmTGZ0hg+GI4AKVh96cccpPcvmsa3+InSs0A==","shasum":"dabf02aad8bce743b5cd47df64820f036cbdcc27","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-95c6bb7.tgz","fileCount":285,"unpackedSize":1124773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKPNIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmorMg//aq1OGeHo+3A0N9F2G4Rs/kIPzUj+Dfk42orLFpP46FIEbASW\r\nhnQtvsVonpSEW3Hm8TFQ1x8uZftOVwN5nMx0vlC/BNjZmGdBGs2wBTQkN2qK\r\nCOXDq/X74UNkmd5sRFm5YakP/YncqZxnk1uCgtxbAGtNEPp9wa3g5IV+0en5\r\nWzjEkmYGi7Iuc8smZctuADgl3lS2ezr49RuWEX1owivs/HQVZqTWHJ7vi9Mb\r\nm4i8xnBjJhUmO2SMI3XlGppk8MJhzQtNar5iSpLxIIIg32wiIpKKB/LD/elZ\r\nLZI8hOBaDK71IG2oh3udtp4h9OkkCkF7Dp8w8NpLWvqq4ek4xZdQqLxv0txi\r\n3+qJpJvi6YjoWdVrFSiwhUQ5vtsStNsIYwKeWq1tNDb+0o5zk7i2oY6ktN7s\r\nt4SuAte6AYjFbnM5d60OzNcDHmHgGLdg1VlwBTvvVELNLve6KoMPcE+0WZA2\r\nx+uGw1f/COWA1ebg0hIL3wW6nqL/xucUKDJhp2wg/UKb4FAT9f2GkD7moFsx\r\nb2xmWzABdM7vEZsWKjnu9WFU+/qvE0HanhsUUgOQ7I1yybvUczsjFgtWuwjw\r\nckdIgNcWLjrfohoajNmhtKOJSjuo4pcBMuyX+ztSDOJBC+5iCMK6PnoN2m6b\r\nAOY2fjz9UXxvX+Dkrj5PHkJjaoEFJydzx7k=\r\n=mnEr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzys8IuHiQ4hEzhrAoShK86PAMbHS0rkYLNOJ2BKCWGgIhAKoC8cFyBHIId19Yit4UyIsPKubr98MQApYf22mhE5fx"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-95c6bb7_1646850888166_0.45478743778565534"},"_hasShrinkwrap":false},"0.0.0-02b4559":{"name":"formio-sfds","version":"0.0.0-02b4559","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"54670e65029eed321278c76bc4cc1a0456c8eb56","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-02b4559","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-8o5H5H+svpHH5PEh03ybG5I7/uD99RjivVY7kMlnSPNXATYqjDVrqnfXFFsMSTYUMwT09xrGRh8fNYXQZg6+hQ==","shasum":"033d7f85a3ab81d0a10ef802940fec3366624a46","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-02b4559.tgz","fileCount":284,"unpackedSize":1116128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKPWpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmowcQ//aqU92k3cy7Vf1Kw0fbS4RMDbLzgdxRhGuWF8MFWgR/I8uiBC\r\ny6HGMoh5Jb2dMy2iukZx4JZV56kRKcFBsV26qJrzBFfJXmtdCum0Gq4UOcha\r\nqeYRSsvqOoPSkrd2w7sihFbZI9v/I5NiLgNOPcNkmlew2TtEHXkOK/d07NTN\r\nF21DxYa112eG0mCKVlClhWQZwGB1rXBgHAKTYoG/UQ5pZtZuTRqm/wP59JkT\r\nEkjMc/19OArkIJd/cJyY90FXkr7tKAIFupcLeDnuVSH+hTQrJ8rxVjY0oL3/\r\nd4Uo19/XDndVNY1V4VktPA9xUV52T5DZ0TbZ6sXfM7wjUJmzrHMnm+1dwgtx\r\n4X+erXCASRkVGNRzpSYsqXq2y2ghJxmXUFmT3Wz7DvJ/hDP1/mz80VZWAeJk\r\nTHcZ24ck04blJWBp+TkTYJMjFA68CQKV/NlcDUl/z4ACqLpmgcqoe8ARgWbE\r\nNRuab7KCIMek3/ucW3rSlwktEYagMKZZ47wJwM4YOzLh0TGfpRx4G4DaxuUK\r\n8Qb+JN02pAe9Ldo9ftrw0HG1XqvSRYmsvso72ezCM5gd7/XCc7oj8TtK6gwM\r\nQXqu2fIVB+LBEunLvb5hpLMvoe106K2qBTWZJ+ykq2iQ9uQ0X4/rZNQ0CYpv\r\nnrQoQmMdFVkDRVwPNBTa+xvgxHAvR94WyAg=\r\n=d+RN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwz6uexXgzMaDe/bzefaiGYVwCXhWJAAPwNxSFqQdP6wIgWOUGQk1C3kGuD4sgDvCxZ5cLDTy6H7slfjVOBCl5XD4="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-02b4559_1646851496986_0.1413166425469008"},"_hasShrinkwrap":false},"0.0.0-8b81f79":{"name":"formio-sfds","version":"0.0.0-8b81f79","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"2911b81ba0c6fb789141ed74d10865f04895c4ef","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8b81f79","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-REa47/KxmDi/HLlh13vw1VlviBzVoBZw7qYQGdwP3/qaqGMmWuxyFY4fE/i+xACBQKlrgjuzJ+O1yHntXqmwbw==","shasum":"318f80dbe3af409627aed4d822778cb453326b6b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8b81f79.tgz","fileCount":283,"unpackedSize":1107482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKPvpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqduBAAgd2YT6CY1vqx9A9JfN9eKEbekZYFO6ic/0rJe0GFg7ie0ta7\r\njfvpaCe2Vl9W6bFFCqerqwfpP2zYbRXfUqNcOn4rujaDcypsyjnIDqsb4JHt\r\ndbr3ciH5v5W5wPhVQem7kYMz8Pbi90GNwxuY+zQuJkxnDeRZ+IaCJe4mnqkl\r\nDxtnVdiW7EWRThAp2mL/FN35iZeW36tPnGyOgQnMEP+9L0WTGfA2w3ZkzFDy\r\n7mTCOY228jFcx/Pl4TNcm1OuTOhsq92G+sGCLKP5O0ie/VxcvyXSue5pjmOB\r\nDeOyEx6DKMRL5UeBrPMsFhtlEqAkkk50iOjlD+cx+tUtkOtJJnQWmI5UgGq/\r\nSzgPs1iar5cX3hLGUbzliCCwOCwx8RGwS9sNFM77nHLaDzmf8+IQPOchvZ2Q\r\nU3vR+JsQeeQWwEKBHQw9QKzOvGU5n+t9jWAsD9m51DyNdkTvm4A96MSRDVEl\r\nys2WcOGTjQg/2hkOJ8fxrOBRm3ccBZ0r9spIvHXZaqdeV6ky6Pt4O+aUe6Di\r\n0Hh1EnuGolybjjWALhRiVA4HjIVoD4Se4JSybg2DpeE1ZCCkiGG91G8m07iZ\r\nYNCKAwL6k+pPOW7mJ8lpy1FN+6MNeBB1kSeKoynvDqC7RSHVDHnPQHMsTz+n\r\naZexj0f3T1Xxgjl3s5XwL78PyS5qjMrzxB8=\r\n=awKL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaqORuVCMo02H8bqaF5ufdkRf9kAnHGbbkNd+/+7OeNAIgbzAL2C2+E9HsJMDd2CqKfbBy399kj60Si+9VzAYRK+0="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8b81f79_1646853097022_0.6825549760050476"},"_hasShrinkwrap":false},"0.0.0-394a636":{"name":"formio-sfds","version":"0.0.0-394a636","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","update-translations":"script/get-translations > src/i18n/translations.json","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"e1427cf0613cde5e78cd48a2858808a3ceabaae0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-394a636","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-0lJo+W2MaR97vGhvnOoA2rkKFz1j8qi0HL8rXYvrVzp10+KG8vSuFY7MlIjel558o9ebNOjdLUwJW2Dt398Nzg==","shasum":"c668d8cc3bfe6e5c7f1d961489cae7739b0f3735","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-394a636.tgz","fileCount":285,"unpackedSize":1123041,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKQDyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqSYw/+I44AoU5d2JaigppXyb665JJDWxlKxkyKj6/Q4j5z0nmj9SIE\r\n6O/onY/dJqkz4uJm+DBQvAsqbn+dRTtVpsTIPz5Ajpxdz/tg4weMZsEb+d/N\r\nlXnkKp7E9VJStWf2ri4y3yVR1vRrXbJ0Ekr5JMC0p21XjByZXc6EBMowsivB\r\nJEKmMvvnZ/Gx8SUGbT9Lddg0Q0Elpti8uxhzsf7ojBEUCETF3C/emUlS+d9K\r\nBqUOt814OoQPen5W0kbnILSFg9nsHgHm/ZS78kuunwf0wi+oKzi7tIZy0SKd\r\nFtzNxvdDAOH6EAU+7MCd0BYy5EKM8PJEXRe9vHxBJ9U8GdOq7jP1w7Ou23Oa\r\nOJJ2UgHHivy3fJygWoZ8CjAjoBLGOZ8Ybr8W7FwU5f6qYKtQchk+gJSOTHdC\r\nJzSAHKQl91cjfnYCAINkPMX4arZukE7YvCBllPSTmCj3RmDrHtnxMIaaOJbO\r\nVdChgM8MQW50i1h7UvtOzIOm9SRLdCTPGg6EplmVrytwyvoRUUO0jZqSXh38\r\n8CYs2MzfmNuOHeyKXVKuoBLRL/c7fpNQ31TFG5NeHzBy92JQIZQxUIbk2+Fi\r\nRMdJoHiTywlF/qVkvlygNzL3pdgrSjwPREVzfqEucpDmaQJsFaRiTjd5EMS9\r\nJLtM9Iv1FfsBcj0f6JARjbc5fhO0hxQ3Mfk=\r\n=aVVg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXHRgHrcy0XHHdD0hooynG7A5ngq1bnFHEAWLSJnJlAwIhAPuIcxKYCLwLmhqep/Hkn/IWCq9Ader5VtzpfG+LYx+N"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-394a636_1646854385830_0.9117177996202879"},"_hasShrinkwrap":false},"0.0.0-e957e08":{"name":"formio-sfds","version":"0.0.0-e957e08","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"a3d4cc9145d846add45804a1ea6cbe4bab5790cc","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e957e08","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-gGDIENtS3TqhkGOpmskaEWWUMNKgpJB+GiKuAdsOo+2cIZzS9AnhqKPm+Wgm7zKF7b3oeEuklRuEHszLjoGEyg==","shasum":"b5a8fc6b6239a95432546210fe135f5829b8add7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e957e08.tgz","fileCount":283,"unpackedSize":1108226,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKTBoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq7Gw//a+ef2OuzGeD1Z6hwdDF55xm0uR+7mT+C0K3+NqB17GyYyI5W\r\nYiqas0lxC/StOprqM6QTE5mCeMQr8Oj74eUIo/r0L3qbDEMZQeLdg5utP3XW\r\nOE+toKLa+CuIjGUCV7mt1J0PKZ2CtUcgqVDS+OgJQ197lZ2+KdnFym6ifYvL\r\ntb7h+yhAEam+a15u6hN+WN8X31igIOslBybk02RCHK+V57KnRu7GQaVXtaPh\r\nJh8Czz9a/UZ437sDVeXUdEuvMfY/ECgusb9tofUOKvQ8TedhH1AmABrRolhw\r\nitcVNCaO4aa2k6Gaqh60V7cvYZKZCBu+zvNhUsIFk/7s/6k0oksVoOD0PCe4\r\nrZNUAkyUHtqLyelpS2kM4GDbvy57tr3nPCm5cOtu/WCmhNQ4ZgO93+QtFXBX\r\n7zBY6226EWrkXEkyZUvRYI3VTK03O+8DebV1LquvkUb43lp9Qs2mF/6qxmLH\r\n/L/jjLdImRtRXIAfvGs8lZ4wBMwNJd/8BuW+rWYgHQ1615AehSvbl4IxViSu\r\nMunWjanu20DKo84QrSDdf8s7pXRYSmhCMg6nJ4mv4JJqlWcYciOiR/VosMHd\r\nmf7dOUdLTADmPBT8GYMsU79/pLO8x+beo10yPu1aLoAu+KfmtRhdBucUa8fC\r\n1A1kbq00X3b+kWXItnuAP3jeut0fu+uAOdQ=\r\n=PUz6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICmMDBa0m/l2+DWNFi2TmrMhl8sW/9RIxkCRPfQAoT6NAiEA9Udk0+b+v/nFC+XxTlC/pg0rKEUpFEsOFUAXRY9hn4A="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e957e08_1646866535758_0.8445629609815697"},"_hasShrinkwrap":false},"0.0.0-4e1b8f2":{"name":"formio-sfds","version":"0.0.0-4e1b8f2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"372f8d9b3803a886796cea409acd8573c2c8e423","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4e1b8f2","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-MgDcVfuSs6P3b3SML9LWSmHnm9ufU/OTXt+Zc5lVfxYvSKmV6N1ccQozQadfq4vyn9IF/TI3vI2KqanwWdCaOw==","shasum":"48ad5c235ff0a4c9c970913382e72b68499bcc86","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4e1b8f2.tgz","fileCount":283,"unpackedSize":1108226,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKTCaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrh/g/+MSl8FqowwYhWFBZnYd9g97dulbv1wSLkLTRlVtjjvQk0mKTI\r\n3TfNTD7A5G3BElP1u2FOTa+U3DsKxPc3hbRiwMQBMuooPT21YFs9ut14adXC\r\nu1kqg9Tohz25uWDe43xVtMahqCzG59071IWWLeDI/6LbVVChsRbayCpwrSUI\r\n8tbUhK29yJ1ix9vlQEc/sJ8wLqyG8xQHvP5x1/XyTSa2MTS2eB9VKHe00Xbp\r\nbQSlttGIzx97tUbspN7D0QkqeUC/gKFAzbl2WM0vi6mR4j7JRQ3jsVRjZEu/\r\n5FSdIeuE0zehJxJEcvM1q1ObGGH1eWgoKJjw/A+SDXUxp/80GdJzpoM2ly6l\r\nXEC93/CIZrZIKtWJEobEVCS7hq+JJvTKTMloWwKTJ4oMIiawZnDBw5H6YNEP\r\nbkJR657kwzyCEEueRNtRd4OmvEJXLv4qVB016PlmRSD7loB4TUjVUCsTcqYc\r\nOqtyOf6jkXVVOMW9eowmTNo+JsaoNDRUlCYYHBl9LYCPKlHrgV+N40ExLAHl\r\n5y5KLwE75l4EenKgjOKqwUdDQpJOknpibwd6hyLbrg2BNBgGBYazC31le2fj\r\ndVmv5kjdysp202sNg41ze025111AMf6jOhchOfowka3oYbLr7sciF8+H6XAK\r\ntpVfxScr/WR76eQHw+49/ylbUIhrVXg5Bbw=\r\n=+/Ks\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBS1CH6YDdS3HC9dVTvHdPdo5B+pZrcqlrHOTXf5j3UrAiEA8I1ueBftDJrpRUKpx3rJ+zmwUttXriOVTpizv+iMIJM="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4e1b8f2_1646866585626_0.33977010077026515"},"_hasShrinkwrap":false},"9.2.5-rc.9e136fd":{"name":"formio-sfds","version":"9.2.5-rc.9e136fd","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"30cdea846fb0d04ce13d7996314002516df70452","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.5-rc.9e136fd","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-F4sfU88pRJFXbfjseBV0jqApxtccA/4Qg8P5h/dwmrRgdUgzO44HChLwRNSVrGI3uVTMng1rQH18c8eS7esyCg==","shasum":"501b041da73b5c6a16d28f133b8a3b291c286b5f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.5-rc.9e136fd.tgz","fileCount":283,"unpackedSize":1108229,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKlE+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYLg//XtsqUFkpiJLZtwCsiynM9DfizIhS+e2oprQ4ws1cWQTleJXc\r\ng903+M5RsDqv7b7FmxsX59e/sjaUGMpcgYh35aIuTWjXxxJzITWVSmoL9war\r\nQZIUvDBBviSr1Gmbe2JfoA89fAbWD3E8XKdOu28XPWQSuchX6dkl+jVLlrL8\r\nWz2AiOETWH4oQK9cpqGB+EW8FL5Ro/EhAU7rc/GTpa6IpDzwSJJvwkoYWdiu\r\ncYyTDvsyiuSeEPGrFImon+IR88JzMUAFAm/erzVsqC/mzi2Ol8txac/6E6tV\r\nYqa0iQeptPnSRs//z+d7kpa4ja1C/hJz70E+KL9T46wPunw47owEb6sQQLJb\r\n6z62KslCXEVXL9z9o/rDPs8UxEDKayAQniBhhY25nkG6IoNKZnhhKPG00ZOt\r\nWcZeFb1jD1oHshR4Gg8gSAg4XCXBLeuliR9cXZ38TCxIuoB2wng5TVpyJy2j\r\nVcI91FSsz0u1wFU/z3V+JkdysYLu84h01joF/nC4mtHyJObyGDZ3LcP6NrM5\r\ncRCX/RV8iQXIi3txjIkgFjhmuXn7Rb8rCzmSECyWEuh4hu2dMOaPM1hn/GOd\r\nPhwtpil00U9WAqRQKGi54wZyBtf/y1+dfWiDdnOYm6pBabXWAc6gMQcCI7QE\r\nwz+M91Mr/bqNegCX2XY+1PzRftAFJZARq6U=\r\n=hupT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbBa4fW6QeK4kSOMvm2mfX7XvBi95vIbDB4Y3vgl+lNQIhAKMhPFaxq50lVDoU+IvwOAxY9Qq1hVJBIPxQD6fp37kv"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.5-rc.9e136fd_1646940478603_0.13264059292319064"},"_hasShrinkwrap":false},"9.2.5":{"name":"formio-sfds","version":"9.2.5","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"91d6208c02f5d57c82fbbf758b278e1166d52350","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.5","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-DJCY+d7N+Tdwt7jHWq6IrQBU3VbcvsAof/shfnHXvY3LJ1vpb/PrSAtxW2q5on7U2JmWszByS2wuRU3Ml721pg==","shasum":"2ef94ccfb4fdadf085d8ea0c9ab95073a44caf22","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.5.tgz","fileCount":283,"unpackedSize":1108218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKlIPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqoNw//a4NdT1xqFB6YWUyHzvFPo4/73SogjrrL0AF9sU06/VpiqG0O\r\niIaCmsVDwZsebRS6Av2IYPxvgHxJhgW5mH/tT/0Gp93plHeVfRUrPrCTPVA9\r\nGpZ1vnD8IzdJzNdwls0U1ZFqrHCJvT24J5oG1Qb5olLVLwca3zJ4bB72rUZI\r\n/vocx0+k2I+RC+q/1BsGNP9CGm8LhWxnFUZk9XNIOxp6vc4hwDrBZVgiB+Rh\r\n0Yy/Oz1aApxZZRI6CBj3Ni9PGBLvuWHZmxYQzc1diuBvtgxfARSzaL1wDwlJ\r\nccFPROl+vGndamX0VEIgeSkx6wgzzZSRYKNPP93UT1QoietkC2sK1xmKtNYp\r\nocKKZ6OV+VRxX6C9FWdcrePOXVgCJRGPo9QrRDzuY5/GNanZjSlUedVN/lGh\r\n5kN3N+YVOSv3Ika2QdJXeA0HBKuJ/VkyYQsqCob6RR5tgx3pBM2qUtgA46kk\r\nOCSNVas0tC0tFbvTX6UPHz0yfpPSZkK448kJo6K5AeW1zPejhqPaPNGPoiU/\r\naBvcP64/68S9oxf7nzo1U2KivShe13YhS98y44xf6FmHleTrIvetWLjKJwMW\r\niTFqm07dXSa0uquf3qzrScnSXsYCPLwr+Oj3sgLN8BFgWiH/K54IMxmkVpjY\r\nKpOVknt07KDydssEgkg8s/puxoE01Ay8H1A=\r\n=ze1M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH4J7sn28y3rFPJ+itzKILey5bZol8DBgxqMAXYXEWLhAiEAtQe2vd1Za74RG20LXZjko4K+CtiuIaus3Cn4VECyP1Q="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.5_1646940687212_0.7729312523141589"},"_hasShrinkwrap":false},"0.0.0-f254b1f":{"name":"formio-sfds","version":"0.0.0-f254b1f","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"2867fd629aa995a3f2c491ca5659c902ac251d4d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f254b1f","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-q31oirs9eeteDutEuZXJ+qTBL/xhB9h2kKiUs0mWOZxO468oSqay7uJi7hJbsZ9vo1mBV0T1JWPgumuCMTU+xg==","shasum":"7b1a3e3b56f666ba0ab542ed5e0e467974905c3d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f254b1f.tgz","fileCount":283,"unpackedSize":1108313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQjAwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo9GQ//R1W8n6L59pNPD0/V27GbvevFK1Mt5pnJaZW6yUzlU2alfzmy\r\nbE9e4Mht+W9FBHFOCmpOlnqKmjOO4XypVBDiSG5UaJH8yOk45uvbQqEFHMdQ\r\nSx3jVxPfpX6Y2lg2RCJzqzJYywI7ZVWdky61wy95BtLAsZ/Y92ku9wy3kLO3\r\nvt1bTkPJvv+04HS8pIVIP2d0p2fLyhyI42enCjWREyxH3GikZvDUnu8rL2/D\r\ncS5l29ZLRuvCKq5mixHfLVQQddDWKzbVwbHQ2NyfC7ydJ6t3twXWYlW33boW\r\nGtuDHIhYYksSejsNKOBxo91onKcz3Q4wkmn5x2x1v1FfQbL+XKLWU/lcNsh8\r\nGt6APPjAvTEK7+EvorKH8avkRpS1xifEbr8Ci7JVKdDPuWorU9DmGwDapyhw\r\nYAkLv7jfBb3ZUqD5B/gAdswegqMnxbESNvVDz7msPFv4j08GLNAzA0cE8FKD\r\n89poLLIQ8je9PS2arqbPRiIKWHToYvXHNfdIL4+Ja+6J4oGt2A/N3NJjm/AZ\r\nzBwENzOrGPE4FtXY+evp9mgHY2SmolYg+WLfEeEiGIWoUYqHES7yeCaq8I8h\r\n6Z5ARrwiC51nkfMwn3G7LKKjCP5V3TO91Bigh/GXjW+ekkcwXbId9tVU71Jk\r\nInk9q9As1WlwePTWZ0sdPvUr7vjUkXNNYh0=\r\n=Rmcu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzd4lqRMe3I8szvi9+A3NWDYSZBZpWu9MHs9BcQ42XEgIgMCyqnd/UEhtlIGTXRFHJZecbd/rylNAV61ldtM4C1d4="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f254b1f_1648504879878_0.7877528135070562"},"_hasShrinkwrap":false},"9.2.6-rc.a2d1f37":{"name":"formio-sfds","version":"9.2.6-rc.a2d1f37","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"8e54b58211e99a68f08fe30a1e31a267d4635028","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.6-rc.a2d1f37","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-wH0SBS8nbpusQPIDh3/m/RkJ971dCN6Wo4Q+b+hsUPHBVqVsl3nktFdoUTEOdIdfS0VDtDnaPydMUX9/PpJsmw==","shasum":"3a4dcd651691361c91d6e525248f18ed7c7372cc","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.6-rc.a2d1f37.tgz","fileCount":283,"unpackedSize":1108316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQjiLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqBuxAAhJbUrEBWU1E/ZLOOsohVv2eVQOseJrvewQNkmASlHaKqWAjl\r\n1To1yxCTQS0F/M3q6lTl7Atyv9wmwI4ADv0WGPSLlOU3WVOPbLobRjgt4rYF\r\nsN+bdGUWCapbwuwD4LNS/u5x3UpB32mZRWc/jPorwpT4uKWHLeJHbiPTKZRI\r\niMdMYQcoo5F54ySp/Y+SHFULdYPacjupp+0i0fF0SzEj7Lo/5pu7YFp/b/PO\r\nL7iH6QnyefM1iZpMUpxVUpm+vbTpAVfHMmDcJGY6fyvvWcFhUe6tXrg1kmDA\r\nUW96aSVqVKJauCfROnrOjoRfPc6gifsu070WHPeIfrDZL4ybuZ+Qu5SQGNeB\r\nQ6gmgGXh5WphhcCEJ+EpemZV7aQHExMt/yJweiRPYiyQ3wZGsTOitrKE8AlI\r\nuIbb5wRyUiywJlDEWRn6k2hgwYkmqjCrY6thR2IPRzuQMw9frD5ezzsrlJNx\r\n63pFfocJYpXbxbd6aw8ShapAQu88CjDvQG6C280ZS9elu89BBN2+x7Et/ayi\r\nJZNSZ8CvHkcvRTHVbC1FIDYhfyrhqKbw631FQW7IAvH6uHHc+BC2VDnKHRM+\r\nt8zyZzStXEfEZ/2nvamQfEbWRDXnucc6FgLMX8Nq+3PbLsvV8sUPeoNiySVn\r\ncIMlDiOjX7Ps4FNpYgwBGdPEeanGSrlZ2R0=\r\n=/7aj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw7xSf1gob9AoDESN01+8tDB0eBe2F8pvWNt+j0WURoQIgWz36hMmiZRzToUebgrAYFv0YekaBBSkyOCsQG9jIh1M="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.6-rc.a2d1f37_1648507018742_0.10336721412788141"},"_hasShrinkwrap":false},"9.2.6":{"name":"formio-sfds","version":"9.2.6","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"dfcf6cd60eacce0c4edea22a18fa03ca2c1931a4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.6","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-29e6d3le66mkCCT1JO5VgkLcQOWC1H8M4iQp1+5/BGfiZn7JZkr+t18gsWeH63vEaoDxUYHVDH1CixI6Vc56tg==","shasum":"6efe64b964b5f3bf2da5bb525ce46c23ca2fbe2d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.6.tgz","fileCount":283,"unpackedSize":1108305,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQ30JACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoABw//cWe/RDCji3qBHcATDcBl/cNJjEHIAvURDHF1EpXZjqGX+b8Z\r\nnQX9qNXR+WMRTw1+viR2RbgBbFqORPXPFy20GcXFX4MvhHF00YqdPYnXzwXS\r\np4yP+kbi4mxD296VCx9Qk1J0Q5ktWqpdk7dwOU/lLV/40K+ZQtCnODEelkya\r\nlQZ/kPNoxNDsuf6dPVg4uV/iHzRjK5Yvd/9w1NIMyi30VCaV+00FiB1D6M5K\r\nb0vtS7CjN93X7rvosGpj99WJuskG4MzfMfEvxVXttMbLRW2q3cBSvxxAMuT1\r\ns9VzB8p/W0YvhWmPVbXCtUHR4FvtiTIk1MuauiNF8sZ4PXiba9DdPloDJ6eS\r\nCSZA7SpSO32SQCcfrHbKhOfslJ/iwErcdjMjgAVfApD4iiQTlxePkQFOj18X\r\nXjupcD8bRYy2WCfMkKEKyO4jlG9JQEekIl3IPtm9mzcd47vTFVnitOJS12wU\r\nkl95eQ9wd1wiW7AGhm3ENJ9BaQR+RYMgTGEND3/8mO+Iod697dCpHf4C9pKr\r\n38V9dtwf4P+DZov42h31nQmzLmlKUdzOh1FUsU/bS4TGKtm4zYB8zqdsQd3X\r\nXvFPdyxj8qTr7CnWhYTIBKB3nOvD0xRLq5wncx1FBZOdi6QXYdUqTRXmrI/f\r\nHk472WCXU6QSD116vQcChuewsjo+OM//8y0=\r\n=qUOD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA0SUvEHQr7UxVHNOZBCxAvgqvKK7mw5Sn/eITt9pI8BAiEAmigjeOOfW4zGk080y2SrjhgJgNffkoVqSCsxdAL7XaI="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.6_1648590089029_0.8249093685765754"},"_hasShrinkwrap":false},"0.0.0-163b5bb":{"name":"formio-sfds","version":"0.0.0-163b5bb","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"d38de25864e801893cd454b31d80e5cf14cb121c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-163b5bb","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-pazCzsJNfw04yu3vqbxHxj/j9EDAM3BCXU0r1jfnQVK7Z6oeIsoNXlHivDuzbgs8QgGI88m2vnbvFm8p5q0VKA==","shasum":"47e1d64828c86a22681a2e2595697a9297b4f250","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-163b5bb.tgz","fileCount":284,"unpackedSize":1111110,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID/sreo3pAtuqQ66FZrBgd54gD3LKeRFkYk1W/dDyA9rAiEA5RqpAJ+6g2X0Er01u8YQkh4eSu6nMXqsUZTda8UCymU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYeKCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9LhAAmXrnnjJfqIcVLwCTWTd7JzbSlITpUwLR1mTyI3duiNGOXOlJ\r\njXn6rG5htRWQEmhBAgvnqzw4HzPmgJQKszanAHidK5+wQy5oXPihJa1sG0vX\r\nSg7BYip9WJ35dH9zi+kVHowiYDs5boreovVE75Ue/oYzzKx+uYYr3VB68hEp\r\nhcVpompXbnuSSjMWYwzhHMGGrqqd//xnDXAqEl5d6cMy2k/DG9BeB0ZONfK8\r\nJ8hkhGYTbuL/bXs1Fb7dl55EIdQWEtbTKzEKPEQcJQYrgeusUwie7buVMXvg\r\nzKc2KjOyiW/BVbjq4amIP7xco5s+O4EVkCch66DFAT+DoeweZ6Qraqxj3d9M\r\nQRj4FExGFfsAYeTGLEy9SKmw3JMe/jGLGddTsTP2G+/7zO0/rVOKhCcO3BeW\r\ndg7EI05cSSeqfAYwxm0ssGlJVo8QrHc7MxTD/IComNCWfEJzueSlRpkNrnpS\r\ndXjt7xIeNeSsEfd9Rpdx652cQb8KVSc9HMqV2k0GR76i59OF/xp02XY1QEj2\r\nKdO92rIN5JKRZ50sb1nujD9ubUx+libmUSx2AihlmGyyi8owHb45Yx7rluTR\r\navatscmflPQ1d+rViNc42Dmusc44cY8alkTFKmBve2jaZEEzZlcU+iwEVNYc\r\n9f4YAWb9+8XSSY/Xqru3u0FhsYnRwzyMjqg=\r\n=zV2b\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-163b5bb_1650582146366_0.46293877918783566"},"_hasShrinkwrap":false},"0.0.0-eec2fc6":{"name":"formio-sfds","version":"0.0.0-eec2fc6","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"83267726d539284d239f270e88ed211e31a461a9","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-eec2fc6","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-ps5cm6tDelUSzGYDUlzmI9tLQvoF86ro81AYQLCXzyUN8lDHTjwWLf3/KEDCPGvgmqzcCVijmo+jBig/JMINFw==","shasum":"fec01a188aed77aba1da011d2fecf115f5d7cf0c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-eec2fc6.tgz","fileCount":284,"unpackedSize":1111041,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWxvCY1zjtxJ9PiC4IvE9/Q0nNBMX9peYLvnDEvwM+oQIhAOMfdGAOUL1aPhhySSh9fVT2Lm+poa6AasewJ5MyUrXg"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJias3OACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmobaw//bhUcQ6zmu5Kd5EkWyTrWLbSZ9VjiPWVF3zh1uUpGzaG4R6XN\r\n3EmbR718805LdkCpPTLUPeu4ztbCSxhmMbAJ/FxBoOmppjybxa28WXrTwlDy\r\nJU1EBqiBmhF+LxlPG0m58zoj2IDuG4n2m8aNegI9JqySsqAgj30k96YLjbkP\r\nV+OTSw7mWLcZhLNYbbU86tsqscuHjHWpGZ+0lVA+LwQeOr4/8LYs3OFSN20M\r\n0aYjrmFeChGGaZFwL52yFkjFEy88rl9Pl1tskl2ZEYE4fo76y6zfVibmXE0m\r\n4Nn61Y2RFfVpsGy+WkQ3YJ44z8cggy4DnbW36sh+f41yUk+67dAR+3/0gKPy\r\n11YGcxSwAe72ErcAtMkXN3iQOGoS3fZZHOHOSckdQtQKJRyKj/ysad1wskt1\r\n4nmfql1RM4Zj9xxfgNNSTlLy3XpqwBQ+urUeTIwzyOkWQIXt3t/TEaOOvXUE\r\nPEmyYU8bABQbnshiV3tYOuw1H09CMkAqYFY7YMUWNcvLxl+PT6hcj8xh26DI\r\nsAKmj7N/BgMzxDA7eQSHmjME6BJj6nvsIqrWlRUPrDh3VAe2fpCpSs1dOHvh\r\nQWPxw0MV7pw4tJqPXZWp7ZjR3baNyJQzmyT36ULv0cgQqsHZjXwCqAquMEm8\r\nUGYM4l0fLzcrM2q45C5Pff3FoQnQmZmKve4=\r\n=bPzz\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-eec2fc6_1651166670562_0.2690452329038475"},"_hasShrinkwrap":false},"0.0.0-2b936b8":{"name":"formio-sfds","version":"0.0.0-2b936b8","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"4902628a1c67ed42d0f6593043fe0f04917a19ff","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2b936b8","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-fjMXw5PDKdCR1jNyDgYPtbC0UoSlKAkvxLMn1QnhDL2wNxgQuh959zh/XrZVS/gyBLoQ/AbWjeWLik1xgdjNMA==","shasum":"d8dd02a2def88db9020feab1b4d61a04cf79a822","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2b936b8.tgz","fileCount":283,"unpackedSize":1108380,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG7aCwejydmIk10uea8YVdD/IAbdrodmItkI6FFfW+hUAiAzSFJGgmwhbjrbx2h+K5APbs9zi6s6+TAKXFHwgSU8iQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibCKRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQVA/9GbQXNrEy2axq9zkSKNae3rlZAQTv7wZ2OCT5cpGXOxiAmKWD\r\ne01IECZurWwHyJfrsSiBCf0K0pf2Rjn+wh6bhKFuBgNNg9YtYu5GG8q0dDPZ\r\nu1e7/mR5nMmF4xjG3QdpZEOYpBQROwLEIP3zgdthAnw6U+wXD3pWXdK3K49x\r\ncIhxah7CEb5fnPxjUt3t3H4GXu7uyIsPRVblsM3Xnr6aAvXt0cYQHmA/L3IB\r\nVH2RGdmnt81V4mLJqwhljMHY+2Gx0zJDUjLC6gvcYD0qm4a3XuYURrg8zc1c\r\nk6pFdhkjJzc6xboNXOfPsw9WgirF8oyHLfM3rMmuGWTYo6WKdCFib2m2vU9E\r\nPkUfJWWz5RoN2OfJwcnjrRTSKKRg1CrMS2QPL0hzmwdjikR7R8YVVtkiz61y\r\nWdXLBXR2zV7JuoS4sRySMIfYjW0fpN5y0EiRJaDUygPkgfwukxxYd7ZgR//0\r\n6ByQtYx+zkW6CLP3Od/C0962YMLUpG8LmYTiQAQI59cdn2TgA27cw8KJxqZO\r\nhQKuk+sVDAoYi6kfBunJeDj+JD4HEq4V1XUPglqN/WKLZbCH1zhE+LsYXbzT\r\no9TgaLPTrP1s4zXQRGNYEhHrX23SjDIUv9utIg5u7HxfPoBVevJKSRiGw6G+\r\nlxsT2l90WYLH73Jk+zlkH4EzG3Deo/AsXg4=\r\n=KKLC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2b936b8_1651253905606_0.3039441036072754"},"_hasShrinkwrap":false},"9.2.7-rc.542b4f2":{"name":"formio-sfds","version":"9.2.7-rc.542b4f2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"9fc2681765b6c580caeb0c5699f399772743705a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.7-rc.542b4f2","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-9l5rzSn5NYL35i40k/VOnkySbmSXdN8h/eObY+f+LcQgjtivnxHBUW7zHDZPR+LMl03DLuIkrRg6Zce5ge/aIA==","shasum":"48c9ddc376af299859aed65679736284a6c02ac5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.7-rc.542b4f2.tgz","fileCount":283,"unpackedSize":1108383,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICUGrdMTu0GMhBgXvWDJxZp/NSphqSP75R02MKAfuUbxAiAzZdOLRbIEyp4BWRMyRa6Gi3wFicdUI79uruBHe/ng7w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibFAaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5kg//fCYjP8nW5BV6qKhklfZm9r4v/J/Nqo6+ecmypGEv4l7rGfdZ\r\n9OMFRxF3AzqpL5M7hoGkGyUfzhDn8l60YRbZV/Kzfvq2FqMG0y/b9qbm3xbH\r\nCFoaIaQ6nA5x2XrtPAgP8F7YOldOTQYWrjU+wUMEAjwh0eLihA8d9OpVffQS\r\nIhGLK4EZfG+sk/NiUHhw6MG+CU5/LbSr7h83FXA1eTwHvI4H5psbtwITLlor\r\nG8PwwgytFooWtbTwCe5V9lU53UPgtg0ziWMgE3rR3v1iSXgdwhgzKVAHt8aZ\r\nGOvvhmopguchmEpYeyIa3pd6avs8q80uvu62csSYgjPlLYA2C1+aMx/qNB7k\r\n992Q04ScK+shh6fT5gOkst4vGUnaW/R7VCaqakHKNCujB9xZprw0179B3dow\r\n8xmitLXVQZM2nzT4hkxf9nLcQLLQ4ZL5iPJfn/sDktD17SoL7eD7JgPHnhVo\r\nSO5j8GIujcaDCHSCFk0TVGyU2GWb8Dq9dCaiNnvK/K3JysLU+xEzu66zOoZw\r\niuT4jeR+qXDzEW/eoiL15b9lTs5+IXgJAYKuM+gXHMqSd9scstVBuGcBk2IK\r\nI/rTNkJltpRWJtqlRW88tdKekxMZG0XQKjh2SDWLGwHDnbsnCrpvBr5oUe9n\r\nJ+mnWTZNy4EYxkUIrgQbwJqwxk4qthIqVVQ=\r\n=UnEU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.7-rc.542b4f2_1651265562152_0.7381908591583897"},"_hasShrinkwrap":false},"0.0.0-2380f09":{"name":"formio-sfds","version":"0.0.0-2380f09","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"7548109f6e605a1e2cfaaea7b09355b60ce3203c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-2380f09","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-H8yvTAmqgcgFyd4hocq70D2Y27uW3K8KsTfigBHoi8df1xVqK4vN6v5K6WMABjvLdixbDJiw4ux74zTKoXqLBg==","shasum":"6fed9650a4f8245f3cadf31ee1a9e62e3d70bd6e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-2380f09.tgz","fileCount":283,"unpackedSize":1108273,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDguYi/zIiDePYPXY3F+e+ChclMY1NYlqW0ksLI2OW2mAiEAwlTgASk4bJSktC2BpqIVRFX6qtv1LKHCalVVG0F1OJE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibFAsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSrg/+OKw18IUh5EgIjWq9SYkInuaf+OkMepnVxPDYagxI5fSc6IiM\r\ncAnFwVuOg9T/alJBGoVwyWSB0k9367oKpDmUOUFncJOvoD673JiOuxeNJdNj\r\ntNDwTGNsM0Ev84rC37wl33tcB12jfTsXzx7dtxG9LLpJKXNtFqulmgcQ9ONi\r\nrgstqNObMnRNcYC4mFujtNIRIeGfm0dFvn2sEANqsAxc7UOCVsyMMZLqB9ui\r\nZVL3o37Qjz2CeT9cIa0KWx+RiaDlIWpvPIOwBAxZVFIZl7vlCrcm4wRFuvF4\r\nGLAXBiCCBgTaf5bJ58UZqNQNPm72y74yCctQaD3n2Oq+V6IQDkLe4ymdR3Xr\r\nYhdsDCMpvNMPSWCDVeGCVo/Mh9ol+P8VqOuE7zxK7PsVHAF82uGnLA/jCkNV\r\nIw9palC+dSOZY69x1Bzu4+srbSmVm23Ge51ihMTWZEP8VNuK5F+O/oTW3whu\r\nCww8PXiusDsDG36kef32nxJ0oizvBiN28vmWjZ1t+dYTaPJKeLx6yZgx+qUt\r\nzzfreA9VpA9V9Yy2J8dDbdSPk5aWnEM3lxSqLWAwy4ewp+Ob3wyYndB8FmmW\r\ngc8ZbOBO24myR5C17PWBA06rnKhAnG01eQW95V8PYRMknfbbnmbWHeDDTxcq\r\ndiJ0cLx+dODfbjauqxQ+VOGyD8itrcWaw5I=\r\n=AECZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-2380f09_1651265580378_0.7386173923350468"},"_hasShrinkwrap":false},"9.2.7-rc.c127169":{"name":"formio-sfds","version":"9.2.7-rc.c127169","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"fc2ee030e4b06a6f83f887bdb7adb6dfca665481","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.7-rc.c127169","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-VhkRTyFpY5rwg+KwOif382Zf0SPw15k6rAAQadgCjkYfnSoci4F1WhSs07fjM5KmzGp0MwUrOfgE23e7u0tagA==","shasum":"77f4c39f2c7eba409907c6c29ef8ea0bbcd2c47e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.7-rc.c127169.tgz","fileCount":283,"unpackedSize":1108343,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCH2N9w0YhWBj0W6P+FUW2xkRYp0tulRlSrFLDkg5igTECIBihstHwFyDnQX7fv9/PFsIvP1ryGfEmHbPtFWjtVvKp"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibFPAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmraUQ/+KzBjkOQjJhxMDNqK+kP9Tyo7cO45rn8CTLPZL+fVYJeZFwxB\r\nz+AyMsxeTAOrun4/SKI/863XNzgO+JHPJVaLlOMu2bpyV45gxUnf4O5dekqU\r\nZn8Gbezs/J58cP8WS7bWdQft3aAaMIQ6tzCdy+LxRVLJjk0FSttSUohqx+qQ\r\nhvZps0HnvECKAq+kPJgWG3owV8Xv4uM8sonx+cuCUouZoQvRlwrLNv8Isv9C\r\nKJpTnPF4/LTyOCvKy/XQg1s7U2ABpg6ENHjERiJbPHHpc/Clkgkud+5oRVzl\r\noM8iXkbrRqjuDEJG0G29X4+lv/6Aq4/eg08F+q/r+DVcJ+PEc32Tw0wcJnS+\r\nTTEdRXOnkNJrARiOOODPfdMFkwoNqYR3hxlLmE2qsSHZSZHJD+IdBMpCFM36\r\nJ2SS1rJ8ZxZ1VaWr3a6JPWdqvmpI9tbaWMt/pFiefZHiYZgQzlw68nGh99eu\r\ngj6iq7pE5awnR+KONuIj7tEJGUY3g8dz0chjosmbufxpeOFMsxGLQu66MP1q\r\npr10adYBVySR8yi785xlZfy+ljKJ5guSDvWKOc8X8ZQrfDR3hpuNLMJ0bmp9\r\nD6rfCmTdCRqWHvvk9UpsfIBcOBlW/kWagw9WkuQ+5qA/cp7DnFN5QY818jwg\r\n5FAY0lgajo96244eqAoCbbl+t1UMNwbvwxA=\r\n=yF4a\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.7-rc.c127169_1651266496104_0.9863599941858745"},"_hasShrinkwrap":false},"0.0.0-d002bd2":{"name":"formio-sfds","version":"0.0.0-d002bd2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"eac6bc2b6219ecffe5efdbd93a9a39d6530e884d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d002bd2","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-6Y4mQA3Yex+hVj14zAh2nOc+IUPJktrUG34QY1NvZZ2cEYPf+io3JxMDnef/G8oWWIvHMFJ8nn+AsYjJxJoIzQ==","shasum":"74c805b3f1e94599f0307c7a41a9973161cc0de3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d002bd2.tgz","fileCount":284,"unpackedSize":1115832,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDqkR7r1GMLt3Oda7uLFAVDIPHsZGnSYiTSdscnQSRyagIgSn4tgeqvKveG6/XtOeXnQlxRle/NVk6fruW1GBRI5s0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJicuFIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZAhAAiJJf5JZYWVZ5VoUDyfroIUjbjHy1f5mKlyx+N0eQ72hHaOqV\r\nb7HhSyGY0a1Grrfu713w2zLWRx20wjKUhoCat4JI0+6Uqt3FxzoGDySvnZPq\r\n/VnqPArrfSHf/nVrtsk9pqy1gLFJB2mBLWgeRmCefc/5/258Vb7/NwjM4AZZ\r\n5NutUlO8ty6mVC1YPgPDulbAza+zFZ85RucvnVsFmksiQzlbQ3dCBL0aIDXS\r\n4m1jrsdd7n8ADjCN72YRbzg1O/CIFKETz3YYqNsPfWRVjha2MHRzE3k832gs\r\nwlk5O6Gx7UzKtGmi9bvUvJS7FA28YJZgNoQju2zMpZz9hE472eGrzF/KMexS\r\nyi5oNo6qdtJ7shxfryirYb0rmTZ4XIpjA3pv59BX5B39QYg/diYyxC6tPUWh\r\nXuiOsY+MZfj9vRViMCymDMPHfbSJQSK4WafWhbeKiUdFyzAMnr44Bg45u3nQ\r\nWKfNc6zcQ0sGmmKHeTidsF+JJT9g05TCQANVEeuvjH2hK2ka89Kf3oSBUU3s\r\nsJRhGMxERE7amUHne7GYOOppteHF6tlL9oQ5ZzpRvxyumZUoGOjPP3AH0sUr\r\nkQOpoxKhD0V3fhUkEQUpOV8r5yFpmUD3FWo+0oq9azb77SbrCM/MkaOB3tKX\r\nzR2HN+M1zjSbaP/E3gP/ObsB8062T0I5IYY=\r\n=JHoB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d002bd2_1651695944459_0.9066934994475413"},"_hasShrinkwrap":false},"0.0.0-8d0e075":{"name":"formio-sfds","version":"0.0.0-8d0e075","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"f2441eaad5959d3743c2d020c790f2af1d0c417e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8d0e075","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-tLYFhVpd0NCNEViD9w0m8K2ZceR/jZaLz2CuGOgv81PppKErUzgFmigq3KVX34q0Mt739yu4DI52/SIoG1NI3Q==","shasum":"c3843838604b553f9b383f495e7e5c3a38900bc7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8d0e075.tgz","fileCount":284,"unpackedSize":1115776,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIATUwPpmJj8yi48kLmEznlJmmeW5k4S1N+gPCX+fcLq8AiEA/iP58oEkXzh9fSVE7xVOR5pkRnuSVhiK7ctFGzqOoRY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJicuHrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrcUhAAiGUPJtNaELYDPWmqEMJVZdElsEqknAmxZRGyucpFi/FF//z9\r\n1w9vcmSoZz9TQPCRZ16oh9n98Zt5pWPfaQ/PfVeg4d0gAfMgPHDE671YzFHd\r\n/AJJId/VIyW9WO+sMv6q88KKftipuBuOk11TVlzI6TAhEx2hZanI7rEtuXbZ\r\ng0MVY42IvIGeli898VuE8PSBNtELq5pVZvyYUwxdHXag0jSqvKG9BGwpfrLq\r\n/hezc9e8mDdGO+gTu0Z48OWkCsEgjuFse+skzB2Pz8U6wHpNo/YBJzDsuNWA\r\nT/UCtJG/zBYmvHf1J+xbdVVUO5GAMu1sliy4DVOkqmwNd/HTnSFH5TBngaXh\r\nWGGxp1vBDoGI7jbrLbyOPLncHheGQYl6+t1mcrszoAJXJkCXBcavQEC/dUSz\r\nib/R/gc5U0NyjlrX69hpbjFAQi2bRZrSgUV6oOS6QqUPA5G1sjo5NyKR5e9H\r\n8Xp5CMqVb6ry3YAKTxnnq+790ID8L430MVPe9PVkxdQjSGp58ilskSRpd8CU\r\n+RBnoANjMbxj4dg56gnY8etZ2cSRgYilipTVz/mH660T3DYpWljRAFno+XLH\r\nQNDrZ3iwsEM3dztlAYsB2QP4IgabxTkAQlu6irrMToMirdnDlNJVcNwXclXJ\r\nrl5RcmQpvyRSQfcLdOW/DD1q2NXh4o4Wl1o=\r\n=o9VQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8d0e075_1651696107047_0.8568686657878712"},"_hasShrinkwrap":false},"0.0.0-1b6c148":{"name":"formio-sfds","version":"0.0.0-1b6c148","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"eabddd0b01f8ed972128e5ac605fe68018cc0293","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1b6c148","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-qL95L3YBVL0PJDFBsjZ5OrI+iMcVgv5K6RZisrqd9i50QutX3VROWqrImpb21l+e58UMEGsZNIQ/txL+evGy3w==","shasum":"5873103f3c92128a2a31610ea9d75419ae953aa1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1b6c148.tgz","fileCount":283,"unpackedSize":1109939,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtVl7iy1gs2Ma2TeeKGLjMwCVsNWqskR/8RZT8FoM6ugIhANSKWXK/a79y78FEhEV/QdLll1zjV0KI4gfpppDz6tEP"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihUGpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq0fw/9HRp8/pZSuHCyeuNKJLHGaNjQirlF7NM6y3MZASjloHqHoDpf\r\nrNgo8eBOIKSmnuC3xiJTSwB1c8gTW+lh6So/Yf3vBBk4k2XATq8rALCDnS/7\r\nBpRf/7silUKS6ly12DvWWFEqacucL1G+kyEexVLBYVONppqw6VzQU7GJApOB\r\nOWvVSwjQfgM0ESIi4d8An5tbl2NfM1nHwwclf07+WQmwTeFFdfI+wcXQ3nT4\r\nBfRjwbmkKkTsezlOkE+uvIrR6hrr/oNqvGvqRG2vUTalG63WGb9JC9jxVstb\r\nhWvFxAz/WePkJ5llIlf+mD55qKJJHbI1qNUsyugNxUmUNLD3wV+D8tmrwism\r\nbLWGqPjfSbJB5JePsYk822G1Zm7TuND1fdz3OcmUbxKE/mE06AnH+pwEdmlM\r\nsJBfPSl0OZfpYuFusSwr5y9LYU5cm+msXlm2DNfxFqEjImPY2ozb5IikvXrj\r\neEdsDi9BzXiTl9ykXIa6Yw+r1ikPjESy+ctJ5GAejPdkounqVtc5dhPBX3Ng\r\nZIroI7AHt0s9DQEexYUXeBRvrrlRo3jbgwZW0ehnc8dvV4047Xm4NpmDtHPA\r\nt9uPnaFBMlrqtAfDSzfM9Ydxd0mX3XPzpNBmNbo+IJE9HFgOa/XPrYXMtGLH\r\ntTqXwyb14E7cXmBdDJCQW/PuHCJ8lOBU9S8=\r\n=OPku\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1b6c148_1652900264884_0.48477954332092255"},"_hasShrinkwrap":false},"0.0.0-61265ce":{"name":"formio-sfds","version":"0.0.0-61265ce","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"9e933106b793e8757cf76dd1f96a18e3bbfdb2bc","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-61265ce","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-GDrJZdTZ6OSycWnwmqEa+i4Ioci0KBuvIExGt9fINevU5J1RjMlTYixjZ7aZcST5l6KfDsvZRzyh9IYD9cfbAw==","shasum":"b7e3eccf4847fa2b1bd01af0d89ec60635b8f8cf","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-61265ce.tgz","fileCount":284,"unpackedSize":1111041,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAGhuvNg2lGfHDbnLdo8gT4Qkc5T6/EhQx1sROIpypIEAiB/374bw6JF8eX2NFDdwti8h2ULX+AgWtIkWPp0ca9Orw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJilmWEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpujg//S+tszUW0eG9cctZ30oFLSwjUCtjZ8lr8B/5788pF3co4Vd9w\r\nSNZ/ZLZqOgkl8Botd4zpKeFWL9JsA5H01a+a7YMNqFYGVl6cZxDp78zMF8Nm\r\nz47XqPAQpypzVwvZ+zwJz5kmDdPlfU/K/Gwzv4kVwu8g2KvRGMiEH96taOoj\r\nxGtxWnWuPCMJ2g475rJqjbTnOWdVrXsmWBUG0fqamB8oPdvKN+k3T+goKAN2\r\nwZdyrLVhoxnU+DaNNxNKkcRVchWuVujM64BVJCCmwvL5/jySG0CV5FTT0Vxf\r\nKCffkDQC/a2VTNVgqepp/+WZPsTtp9hQt59VYMPBxfY6F/PPCkeyiWEBC6JX\r\n3gnPW5eLXW/A8fIprmhVMwNc1NjHPZisTvjuWwKCLySUkUIZJ6KIobTfneWL\r\nu+7r9Cbdeuj3grQlW8CO3BJGjcQ/dCjjMqBOMt+tyE52HNd27mhBXlcaJmTc\r\nN3gHn1A4o4ctoVNpGA0yt/16+WpJ+fsEsZHjnlEbVgpc5kOlG2gKnlppmfp1\r\nVirBZKqhenojXiN7nLy4lKxcTdck9pfYlr5VI2GfyDsDEk57MVuzzfQtsqLs\r\nvFNuA0bFlSlRUs/TcP8CMUUWOxKsIoEJdN1fXRrN8beDKwycUDERfB2sKyqO\r\nNLbSF0IVzL9ITfoZL8nTJJCuLkim9X4OHR0=\r\n=zRSN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-61265ce_1654023556544_0.7049372035139563"},"_hasShrinkwrap":false},"0.0.0-96b1511":{"name":"formio-sfds","version":"0.0.0-96b1511","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"14.x || 16.x","npm":">=8.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-storybook":"build-storybook -o public/storybook","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js' .storybook","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","storybook":"start-storybook -p 6006","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-syntax-jsx":"^7.17.12","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/preset-react":"^7.17.12","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@storybook/addon-actions":"^6.5.7","@storybook/addon-essentials":"^6.5.7","@storybook/addon-links":"^6.5.7","@storybook/builder-webpack4":"^6.5.7","@storybook/manager-webpack4":"^6.5.7","@storybook/react":"^6.5.7","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-loader":"^8.2.5","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-react":"^7.30.0","eslint-plugin-sfgov":"^1.0.0","eslint-plugin-storybook":"^0.5.12","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","lit-html":"^2.2.5","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","react":"^18.1.0","react-dom":"^18.1.0","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"89fecc71cebba7dfad83498ef20835bb49d7c594","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-96b1511","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-irNSBLlp3pBdsQENG9ARQVNR0WuS5CSUoW0v3bLcB/ijBsj3Ehnm2MbXsuWid4eEgV9DFzB8jA4U+Is0nloLjw==","shasum":"73ae0aac0d44a076d630b5417c8e6a1fce6f855f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-96b1511.tgz","fileCount":289,"unpackedSize":1105738,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGEY/+MrDUKPa1YziL+Tbael0cleasz1NWJbdUQjfWbJAiAs0GacY6qYU0SeUMXImdpLO5tf5xwTcS3aohcpJnkfTw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin6RUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmomLg/+NDJtC3/zv6dA4iTErpEIEHMKihFTPNK4kAW8+15wp/pTdQ6e\r\nzy4pAOgxpt460Xq2JZW2qMX0l6Xyi4sZrxxf6A/5Vf1VEjz1De3W6O03Pe06\r\nP8MOM56s5f9FmwH933+AtCj4CFsTsqFIPmAY4zZSvTol3HwCUmZDMGPlKTEC\r\nBvoA+8K5KAVWLvNHut0jX3BMMYeJx/N2uUxlhoYc1P+7Ug6C10ZHRDMcRxtO\r\nB0k9xAoVSpu6zrNBgJ/NkCq4RRV1GdqcxUfbRTLMmu6dG/oU1HMCydn7VPKk\r\n6Vth3R5ZYWA3T+OhwQXsyUuqV3fHMo7LQ0ZKMFol3YzrW+2r3pjh9rk5d7cF\r\nQ2Edb93LZBln9ARPUuE3SbJUxABz3jJGoqrYOOavpLWu9VQ+NaoaY6Zp3Lr0\r\ncOeA4R3lhQXfqajvSU+Ls6CZizdm0f1dQszZSg9a4lpxzxDSKb3HO/v9XDuC\r\niHQ+HLwzGnBM9RyCtxwbOXRHtPKZnP7Ky5cZjTWdhTyp76dD+Nse6gKbCGl1\r\ngAzEJec8Q3wZbeY5D8ELH/N4tq65OKPOxhytLsoAewShOjl72WzZ+IoX5Fvc\r\nwuvjUvbEbW5rY+7Wx3X6JPLC0wxITJKMA6XROuGZKzpMBkKMdeukZtU9Sc2j\r\nUbc0BccSS5ZmlBYBP13hi2vmAf67DNero0o=\r\n=Zvkx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-96b1511_1654629460708_0.6787236030924493"},"_hasShrinkwrap":false},"0.0.0-92f5c8a":{"name":"formio-sfds","version":"0.0.0-92f5c8a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"14.x || 16.x","npm":">=8.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-storybook":"build-storybook -o public/storybook","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js' .storybook","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","storybook":"start-storybook -p 6006","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-syntax-jsx":"^7.17.12","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/preset-react":"^7.17.12","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@storybook/addon-actions":"^6.5.7","@storybook/addon-essentials":"^6.5.7","@storybook/addon-links":"^6.5.7","@storybook/builder-webpack4":"^6.5.7","@storybook/manager-webpack4":"^6.5.7","@storybook/react":"^6.5.7","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-loader":"^8.2.5","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-react":"^7.30.0","eslint-plugin-sfgov":"^1.0.0","eslint-plugin-storybook":"^0.5.12","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","lit-html":"^2.2.5","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","react":"^18.1.0","react-dom":"^18.1.0","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.8.5","stylelint-config-recommended":"^7.0.0","stylelint-config-recommended-scss":"^6.0.0","stylelint-config-standard":"^25.0.0","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"c225e779238c82a0fecf8802a1844fe607ce37bd","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-92f5c8a","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-MOGkHvJeQcdYpR/wuGF+bq2scwh7OBixNl0M0oqOzeBiWzD441ozfC0Qt+jYFJIHwKJKXUrtjUcI9313OaK2wg==","shasum":"ab4e64f3b6668fca4b9eddaa46efc14805036a37","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-92f5c8a.tgz","fileCount":289,"unpackedSize":1105837,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFwqVZPPR5EVRksC2+hKmOAcuwRXUDEWHTe5vaTIdmk5AiEA0HOsa3eUmu2py/a44NHeA+a3j+D9y+EDz+8sCtF4dCE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin6bMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmphVQ/+LBtWmj3ZZOOcX4nTGJh8oU40F/GEPO/VoL7w9JIkH/pjJeI/\r\nnCnRBfijhJLMT/D8Dh9/Ixb7kgoMbz4cOVR65lVfOJgjiMnDlpYY8Panzk2v\r\nzEWZP/Jtr2AtBFqORgzkQxcEq9vK9rGpca7Zwq1/emER+BBLkowd2+CQUrhR\r\n7njiglm4+p5f/4v+MQCY1feMZglRK6am5/hVmts8WRwdqt3iVZhfJnsg9eTw\r\nQhz8kQcUUIY+hPOjogWrh1Lc1h4IctevTTwwYbqbdn5ojH41RkMIJqBBnWrL\r\ndpYD3GIrzPjSw+QwFQk0MMFWJtHCjfetVwCwZ/qqD0GgO+Vn8e5Zuk01U2T1\r\n4d2V0J4Yveh/75ZQLtOWyIGHzFHd2OFV6JVbfEqERfb+byXrOzOEa//w52MU\r\n0ktfmTysEHo307CNuuqANeeQnzWkq3LgRwS3i5HES6AaUg2GrD5UsS8uSilG\r\njQdkR/XxFEkY+ZTO9TmDNW51quOzeYrdQDqpXzvX0azC5a1VbM9Qq7H12ndD\r\nbfY5pC67MbvgKItEeGHcURFH40AXtlzVaNbvCqyZ9Aq4jsTxhvG8PtwOridf\r\nY8jteiwDuy/UYGAz7HWqcjJCCiY3DytG5jOxfW+Z6pgoM1RfSmAcAO1+LJj5\r\ni9HW6MQ8v5GFMCnwdTS8GJXNZzJpakEb3oY=\r\n=1ceg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-92f5c8a_1654630092053_0.014396406349696633"},"_hasShrinkwrap":false},"0.0.0-84d5ca2":{"name":"formio-sfds","version":"0.0.0-84d5ca2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"14.x || 16.x","npm":">=8.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-storybook":"build-storybook -o public/storybook","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js' .storybook","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","storybook":"start-storybook -p 6006","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-syntax-jsx":"^7.17.12","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/preset-react":"^7.17.12","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@storybook/addon-actions":"^6.5.7","@storybook/addon-essentials":"^6.5.7","@storybook/addon-links":"^6.5.7","@storybook/builder-webpack4":"^6.5.7","@storybook/manager-webpack4":"^6.5.7","@storybook/react":"^6.5.7","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-loader":"^8.2.5","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-react":"^7.30.0","eslint-plugin-sfgov":"^1.0.0","eslint-plugin-storybook":"^0.5.12","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","lit-html":"^2.2.5","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","react":"^18.1.0","react-dom":"^18.1.0","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.8.5","stylelint-config-recommended":"^7.0.0","stylelint-config-recommended-scss":"^6.0.0","stylelint-config-standard":"^25.0.0","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"211f21e32bdec78fda1b4c5731b796b3aa8b74a1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-84d5ca2","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-IaJX5m3PcQ1PAqMo5E3EC9ZqZlKVLp1HodrUQcn2Qj8AW7rMUydikrkZZhMfxQm93/FJo7Pj9VUZvZVU12N10g==","shasum":"ffd13e6ec7000967f5eb1f36e1bcf21091e6fd60","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-84d5ca2.tgz","fileCount":289,"unpackedSize":1105837,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG5BOoizZfrYzL9mSfqzWc4OEZGcYPzmzwSeQ0fLCzpBAiEAg1ij+atMNnH9rEsASHTL4THVxVDFY8oYN2ein19AZys="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin6mmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpseA/+I8tl+AumaTQRqxX2e3NNgvAGysUCfg3Io42JhiEk4nb303R7\r\n1uY2tFi6SWxzUeKeOtoE8Q/14rJ4xDWhsgImJR5jWXXscsQ2+xdFcwvOJBlF\r\n1+iSaELbWIQ8akvzfbMYP6heVJtQG9zSU5Mmm3HTKktTE9IUUiDLaxXx30YF\r\ntFDVAnzPmOUq2dad67YOFnV03SxGhXobbANFVmiC9rZrfGJWZWErld3xwKyx\r\n1Ak/cjBT4jHrh2/YEHRgI6RNFL3WLxgooEoiIEbrnz63FeFwzt9XoyNzA4Yq\r\nqUDKpigvWfVz5A7SqdBaXBPSOwwh/lXt9NP4zQ3dVpe+z5xR80ExHUANmESN\r\nuLJDVKo95Qhr4pqmib/VvcY/LU7EPfQxHbxfWENoMMha+7Y7g8h7Ezoz5vyS\r\nMLOvOp2XQOJP99a6c2nVSm5xhT+H6xEfup3oZhdjDHeUxDjBRgEL55Z5+NL+\r\nzHs8Non0p4Qi84pFNfiRoo91i0TWGrTTKyk8tSsyxY7ozyGD7GqgfwzkcJ+r\r\nTVYeyRQxaRHACR7WT8GPrHwFAvvfoHRB3jboCFUPZ9csz5o/Gylz4zw8KhKI\r\nlFGYs8FKTkvJUm8+IVtORltIsLYs4PXZT0PMVbccdx63Nyq2hiMdgTGbVfy8\r\n80571a2nGArO/lm8UuyEwBFPwKcM8ecEVv0=\r\n=q9kf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-84d5ca2_1654630821799_0.9279119037342629"},"_hasShrinkwrap":false},"0.0.0-ff27c58":{"name":"formio-sfds","version":"0.0.0-ff27c58","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"14.x || 16.x","npm":">=8.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-storybook":"build-storybook -o public/storybook","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js' .storybook","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","storybook":"start-storybook -p 6006","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-syntax-jsx":"^7.17.12","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/preset-react":"^7.17.12","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@storybook/addon-actions":"^6.5.7","@storybook/addon-essentials":"^6.5.7","@storybook/addon-links":"^6.5.7","@storybook/builder-webpack4":"^6.5.7","@storybook/manager-webpack4":"^6.5.7","@storybook/react":"^6.5.7","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-loader":"^8.2.5","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-react":"^7.30.0","eslint-plugin-sfgov":"^1.0.0","eslint-plugin-storybook":"^0.5.12","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","lit-html":"^2.2.5","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","react":"^18.1.0","react-dom":"^18.1.0","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.8.5","stylelint-config-recommended":"^7.0.0","stylelint-config-recommended-scss":"^6.0.0","stylelint-config-standard":"^25.0.0","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7","webpack-bundle-analyzer":"^4.5.0"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"0d16cfa700a817b10ccab137b1e563ac8b0e3844","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ff27c58","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-vfJg8Z9MPl/s92/9DNFUNxceLjUZ0qiPCVKG2H0AMIh1rCts14gc33uqowcxotLiTdIka4sSlAKAzPdCSkk1ZQ==","shasum":"9b79990c64e51394613d66b980b447ab94b85142","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ff27c58.tgz","fileCount":289,"unpackedSize":1106510,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHRX6PXjCKU9qUXGve5dCfeejKP/rL8HV/BhejoBRXt/AiBeaIb+zKl6QgDQDdaGcrwq46ZuAQtFJZnRs8+Ky+PYWw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin6txACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr4aA/7B5CutjxHycCmouQGUnbzoTVcG1BhU7WSq7dT0ChZYNPwdSKV\r\nT1KA5RrgDVk4aWFXIwhpl43RndYsd4nTpX+udh+5PLBQ5nLelTqsa/MyljeO\r\nX6fyKV/HM0fAgJun/b6TZKrI9vb/yMf2WmfKIGKfSIa5PDeVNeWEzBra9mde\r\nHAismQnFAcZ9yyuj8UtchLnf9efs1iBojnbEfYYma7L/U4Xhsrun9kRlvieT\r\nYg9Tl6PyjCxbAr9L2Ky3y7DzRFFGQ1ZsNtdMdsrgWDdDonJ2qfOoRF8uoKx+\r\nIQSn7kotQogEOv4RLryFEfxial+h9gduTwS/j1Bq6jsIWW32oSjjlTvQIl8n\r\nvOxtAS1T/wxQlFlsx9TPq37wkn9kDkBtJXqCFsw7fPMfPH7eegpwt0WUAkIV\r\nHuP3LJI6J+CWM7YxaCpWw8cLCrLSJz9cACB3wPuuGqDLb2Wk62TP8Ce+/yn0\r\nzdrUQMoMbrjucKvq6GY2HbHqSVZkxpa1Y1oUsl1UaIgTE4566fNPGzfuYze/\r\n85Y8YMgGvrpkx5tRFVDwQz//xJr3tQfOhYTcmC3re3wub/nKusw5YDP17QeC\r\n7PP8ta/c5DSL/mcbcmON0JYF65FddexFQmfySDaiNrNYD/aKu9aKkrexdUZp\r\nB6wGDUaZ49pFdqrLTPsvnSpS0kcZfDP2WL4=\r\n=wy3w\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ff27c58_1654631281658_0.7766170271902395"},"_hasShrinkwrap":false},"0.0.0-5d1c00e":{"name":"formio-sfds","version":"0.0.0-5d1c00e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"14.x || 16.x","npm":">=8.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-storybook":"build-storybook -o public/storybook","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js' .storybook","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","storybook":"start-storybook -p 6006","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-syntax-jsx":"^7.17.12","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/preset-react":"^7.17.12","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@storybook/addon-actions":"^6.5.7","@storybook/addon-essentials":"^6.5.7","@storybook/addon-links":"^6.5.7","@storybook/builder-webpack4":"^6.5.7","@storybook/manager-webpack4":"^6.5.7","@storybook/react":"^6.5.7","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-loader":"^8.2.5","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-react":"^7.30.0","eslint-plugin-sfgov":"^1.0.0","eslint-plugin-storybook":"^0.5.12","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","lit-html":"^2.2.5","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","react":"^18.1.0","react-dom":"^18.1.0","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.8.5","stylelint-config-recommended":"^7.0.0","stylelint-config-recommended-scss":"^6.0.0","stylelint-config-standard":"^25.0.0","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7","webpack-bundle-analyzer":"^4.5.0"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"48f51300f7d734a5a2e9e8c9e41e5ee437e6c184","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-5d1c00e","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-UjFFD/Pr1n9SBwgW24P0+qH2SyJ9dIx7rgcpU8LecIdSEtrLkozBYtJeGmsrPRSx4Ps1fKhRkqiKetkUmnsy9g==","shasum":"e9117d7224b2e27a1cf2a76e39f5816407ab12ac","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-5d1c00e.tgz","fileCount":290,"unpackedSize":1106634,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA18tPtuNmwDSyChot3+2xDIyECXiG8ifHKaUWtcD5DrAiAxSpiO+fJiWfM4g5gPoVIfw47J1ifXMTUATVeZ8qolFg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin64LACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmowOg//V7xCVTgztcaSmifBegyuDOGTlynuD0sC99VF8Dty4rUM3YUL\r\nR7sx8gkXjeWGgen7zdQ4eZ15yXLbgju+EhvKguPMGKNsY4wTe8hGM2mmXvt6\r\nGLHtIQQ5FkiigBeEACJ4vIpJUjXxnD1PElryiJADI5+PojZ/UVSdi8UOUwS1\r\nQOhovH3yUXRei5lkyqxmB812gIq/p1agvVmoE5bev/Yiu7NIMuYlJk1U3+Gn\r\nCV2cvQLwZjtmGYs9O7MK3whtC37sbzC4mKTgxg5N2tnPjJGkLsXOob7Rw20p\r\nAo58nO1/5i5EdTiJhEyK8fpPN0auXazTU278RLS73EZQWykvOl1rL6oBIHRv\r\nimx7KOANsYNrnH+qBBnI/xvD9z+SK+kH9W71OZgyPymKn5ybUW383Qr7ybTq\r\nC+PktNjrSesPoKjhrC4cD6oD8X/lHSsyshS7JiKks4LQizMPE10nA5BHRrph\r\nSKSOM4LAfA/esGxTxVEH9UWXPb2wPToJeqXgXHvZ3ZrJra/l6s4yFzG/p0HH\r\nxKjbQegtFgKz2sYddzBakaZ/F0GD0w3yA174IC3UwNmyEGBAKXu3t3ziC/bw\r\nDrmKetjmMVgDhU8GuJcgvfq1xdvYbUxNa3fxgHROyY7Lrvx225bydgAHP5FC\r\nkofUWs5roY6XfJpCOGNzQd80H5DCk7lZfCI=\r\n=iBC0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-5d1c00e_1654631946882_0.09959004918652603"},"_hasShrinkwrap":false},"0.0.0-ce7b318":{"name":"formio-sfds","version":"0.0.0-ce7b318","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"14.x || 16.x","npm":">=8.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-storybook":"build-storybook -o public/storybook","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js' .storybook","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","storybook":"start-storybook -p 6006","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-syntax-jsx":"^7.17.12","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/preset-react":"^7.17.12","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@storybook/addon-actions":"^6.5.7","@storybook/addon-essentials":"^6.5.7","@storybook/addon-links":"^6.5.7","@storybook/builder-webpack4":"^6.5.7","@storybook/manager-webpack4":"^6.5.7","@storybook/react":"^6.5.7","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-loader":"^8.2.5","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-react":"^7.30.0","eslint-plugin-sfgov":"^1.0.0","eslint-plugin-storybook":"^0.5.12","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","lit-html":"^2.2.5","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","react":"^18.1.0","react-dom":"^18.1.0","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.8.5","stylelint-config-recommended":"^7.0.0","stylelint-config-recommended-scss":"^6.0.0","stylelint-config-standard":"^25.0.0","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7","webpack-bundle-analyzer":"^4.5.0"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"9a7da40bdfd3176c8f6d05c580993a06c6446177","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ce7b318","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-EICH4z1crPJJUf2+H/L+3NKqCU2p69KKDOljXCaROkJaNhoGdufgRskkq1Xrn4VHbzZg7J3BEPSugU+6FPgaIg==","shasum":"d875fc33e18e8d8d1518119d3bbda82140e3851a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ce7b318.tgz","fileCount":290,"unpackedSize":1106676,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIChspcYX3bDWyeBKMm/y/6D4UPB//StYyLcxr1tLILQ9AiEAo5Q4VH9hdkJJP8fiohKpal9N3eJOXywh7dF4N0Lo9QE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin7FaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmprng//S1vxF9Cm+PrfIMestCm9o5fueuUE3MlEROu6edj6QZN98hLm\r\n6lMsoPnBnlBwE6hkELKY6Wel92GXNtrntBcexxW8I3KnxZirg5yDMDQ77860\r\nQRe/nVak4hBPGk1jv7fwf9QaLIosDm+YOIZRAsI8egZ8MWQDiSvhZeI5IPiS\r\nkGrj15oZxtyj5qgNDL8bUiiq4j5+xmlMbIF/dwZTMq9j0b49jedpsI3pU9Y8\r\nHXK31iB22R2kAkjqCYnJo9Xi422cxpSuppxHjPiEyZdVD28DX7aav+HJK0Kw\r\nNvp7lYuIj2TD0VifXiaA9+9magWpLyHZWaNcfdZCNi7eR936ua+v5hWlWdIH\r\n7AGialHaPTXIqVayN4LvQh6nBceK8uuMry7EmUl1F2oE0ixX84rhDSx0/578\r\nzXa9xPnvtfKi5nIU2fjmn23YYpkmpRRkgDddNRHa9O8u7aOdmRkVnNmKmBtR\r\nB94z6BFZhyrZ9fA4Lp8gLVIi0aGIpR+CHr5OjmH4QY5KLtHKcHE7z1B8p6d6\r\n1AvjmZ6jL3oZ5zCisNs0koGa0cW5iboMxFb1TBO0Z0UTsDurEM9KSEUGGLy/\r\nll1reqH1SAC0UVpRuCxzRrgluzLO+4NwTQbYJBpjHVTQtjLRG5AuFiahsN7Y\r\n+iETYsj+F8ojwPAetqvgBYSt7MAIvtspktg=\r\n=sOui\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ce7b318_1654632794190_0.27865440566933497"},"_hasShrinkwrap":false},"0.0.0-3c8e059":{"name":"formio-sfds","version":"0.0.0-3c8e059","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"14.x || 16.x","npm":">=8.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views build-storybook","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-storybook":"build-storybook -o public/storybook","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js' .storybook","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","storybook":"start-storybook -p 6006","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-syntax-jsx":"^7.17.12","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/preset-react":"^7.17.12","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@storybook/addon-actions":"^6.5.7","@storybook/addon-essentials":"^6.5.7","@storybook/addon-links":"^6.5.7","@storybook/builder-webpack4":"^6.5.7","@storybook/manager-webpack4":"^6.5.7","@storybook/react":"^6.5.7","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-loader":"^8.2.5","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-react":"^7.30.0","eslint-plugin-sfgov":"^1.0.0","eslint-plugin-storybook":"^0.5.12","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","lit-html":"^2.2.5","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","react":"^18.1.0","react-dom":"^18.1.0","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.8.5","stylelint-config-recommended":"^7.0.0","stylelint-config-recommended-scss":"^6.0.0","stylelint-config-standard":"^25.0.0","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7","webpack-bundle-analyzer":"^4.5.0"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"65ca77cd7a3513c7ae7a60f882fc469b210091e4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-3c8e059","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-lzfQwlRP9fxA23nZ88cYb6Ix1WIo2i4PrfqCMRkqpoHIaIEPWJj2cmrRVfnyEgnpPHf9dYpjTYDEbBOiiMOG2w==","shasum":"d42b6e4293cec9d2dea0d8df49c3249b408a691b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-3c8e059.tgz","fileCount":339,"unpackedSize":7209243,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+jUBDIoat8raZmsP6e5E+k5Gj9/4d6SDk5PL8y/oboAIgeFt4xpWEWcWleCVqZK8pVfQZL+SM2C9bybPan7R5ohs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin7IsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoWfQ//TmeBBAg+S6kVx64wDam0azLLzCKGQSCIKJtMcreDYtBgkvsi\r\nXj3itMbtah7lJBrUI/5uJSr0vTitSKH59sx1dyHEw3+EQW0vtPvPwwnxSeOf\r\nITy7a5wTco6EjsWlwsIYkGH7xa0UKyazD+75J6m2e8o5JjioUvO029waQGHL\r\nbdufdULMZerb8EwxZM2cN8hAResgPkQ1/G2i5ElCG/3o3A36sk7K48IcFW/E\r\n2kPXKuOnJdx3ibzeECskYhD5Xw1V0Fuqkvo48WNXiqXTOf62EQ7AC8BQJtD3\r\nHVxsFa6LwHHTTFhVbnRY0kZLhNsnyNXBVXFXYEQgLsEcy3apQTwXtFghnA1b\r\n4RDoiOL/pa/sLRBf0zFiCQzeVWL24Boc/dcYev/iXKbg9V4VBTGEBj7YZf9y\r\nBRy/BNhxGz4vF66MabsuZ0EfziIKyRLqVSKDSuJd8v6TaENkc3lZC/1Byez1\r\nHcj/w/Z8t+F6P8bXidAY77h+ZO5qpXByTHQboyOUrfOhRI9dqPVJPAfmyRRG\r\nWve5DEqTjBuhUJDwnKyVD9ZsXCb9/3kpvX5k4e3XQsVL9F7+FbG1m8zuL4zR\r\nLwIlrxa7jbOS/bKaCUQfCrkBIdecRlr30bzgZF3cmPxcVlwrmsXafrx/mQvY\r\nYN29ZOrQBXnKAm0YKr2nfPbrc6kUNG8sjoE=\r\n=RNc9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-3c8e059_1654633004215_0.42647619910305434"},"_hasShrinkwrap":false},"9.2.7-rc.5a598d2":{"name":"formio-sfds","version":"9.2.7-rc.5a598d2","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"50c823a3a8e8c00e2f66ea8d09bdeac898280667","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.7-rc.5a598d2","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-lbPfzqXZcpIQkD4W1N7/SQWC1c2JvWwycqIl2L6nr3xO+QR4UrvQmIVTWPjB5p9DeifaGGLyvTg/ixsLWVigwg==","shasum":"cc0f83fc149dac28c714d477bb85b903fd1cfd15","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.7-rc.5a598d2.tgz","fileCount":283,"unpackedSize":1108343,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB6B/LSk28QK3sNgWpHM5eWYrXQzNPASA8/J4pXSr5f2AiAXXfGip/CIKUpzFGDcV5KKbKhyWMQvy4/qOt0PF/ueVQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin7vLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqysQ//TbkJh7vtqhrmbQRai2JD4WE28IXZMHlFlt57Zbe+wRBEuQXv\r\nz4Aakbuo9PzpxXVid+bSsl1PUdp6qGuSmhouPxK/yk2EUWx91kf1mS5f6Zfv\r\nY7YqdsYddM7ch8obb0124yiGiW8+ydnnKAtOKeDGCDO+s+y/iaA0tlb0gp2/\r\nZCplfNOsRCts6k7bl/ecYhPO0VzvhimJ84yMjNPmXNUic4m1KzICUu8Y3CH1\r\n8oZpUPTG/g6MWrafQukNlc/WZk8BqCI4ZwM1YczcYRMMsEK/EWjkoAqvTFs2\r\novZJnMUc+7fhn/HTP2r9WIK2OSs2D1+TgEDD/nd9E8MEm2Alt+b1E0mgPTdh\r\nJrLXdpZH2Le+bGZiVFkw3hOuLtmsyH7E1Cb2lADUiAkbu8RZCusrCZNWCgoX\r\nBG1v4YpWTpRdOLWwwcaEnCxlZjZ6DB5KQhOoyO9AHB421dQkaTdXT19wp+Br\r\nXVHHhTDeqd3qsi+jZGmyD3O5vYjH7KwJNfhh/5aA8kwB8wRvRC4vgx93hd9V\r\nAJgnBm3+dfWeFV4w0URQqhqwl/fs8Ga+JNYVtxNGIDkwp+bO3f0dRkkQvT5d\r\nBv/YNW3MqdNCk7HaCUjed9KYIQz7MWzEFQiRdEg3eXaqKKi0yfrY5x81hQax\r\nkuffmIECphecBUn5RqG5wtV9GeLyGYpfrLQ=\r\n=CsgO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.7-rc.5a598d2_1654635466739_0.6887543924163837"},"_hasShrinkwrap":false},"9.2.7-rc.9cadba3":{"name":"formio-sfds","version":"9.2.7-rc.9cadba3","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.7","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"e84b2f16df403ccc4c5ff40d2370a9e6b411a79d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.7-rc.9cadba3","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-D7liCTs2BqzY27VaXtCDc5JUrlMqmy38f49v4ZYar/oy0gzCA/b0iO5g3RfYu7D91OX+Z93iMGc91Tge4vK6CA==","shasum":"e19ec2a3cea7e88cec71b5f6b190a5b40ea245e8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.7-rc.9cadba3.tgz","fileCount":283,"unpackedSize":1108343,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAgymVG2plIkLQYAs5sFXYBXQG2VKK3t+niqfa/sjC2CAiBfZ0SilsfOU0vqTlAA6pYx8xzTCzQrUorIdR86LIoSLQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin7w7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpgMA/+K11Z72pNXIc1ijQpOyXzbeLqje1ggFmbsa7BuUJaz8TkxZjf\r\nv0ZABELB1Sz6A7FpqDHx1rRAPZb5/F9m+hWgDe237X6Clye3+qjMnXS8MHcc\r\n1r1Z4hBqgt/TfWemrREcDak+8PzWKyJyvRZzG6xmrh6Hl+9j5hd4eGfmil9u\r\nxNtCD0qGA70vr24hkGu2GF2lmKjM06TMxVwmzxdlMdHq9c/Uj1xqzgIoTPeb\r\njsQFbFiMnKRuelv4KYLS7r4/GsCBJn/JRb4UBYVwmSfjQxXXFA2QpxybNIBj\r\nYyg7zU0aq6pLHW43uhB9QnEsLjJ1LLC3wjQerXiOwX9DN5Q6o12IgZnz5mjA\r\nDlI/tTcoc/ubkHdtXgcz1fXaPfRuzfYz9PEvPpve9pZaYfJwk1gYEvSwtYlC\r\nc71IRBRW/ka0tMyC+mn9dO2v3y4w8Gdopd/TbeKHEgO/H/r+vWE2m1PkPs6m\r\n40YqrQVOmmvpXGqLQZ2vBPxuSpAoRozOlcFOEZC5G3j8yi1dfIB3FoYyvNst\r\nCUwDrnDXd6zNS/iUACruofv9cQhR7n8QQxUYNs8c5/lf8COPTFsSZ2ag2Udz\r\nUlthW8HEW1RUMJxwO+DM2Ej3zfsFtn7Zm05YWgdpsy3MgYXooLbqSkgS6flv\r\nOaKBaufnorE0OhDg6lPAZJ/hDFVVcK1EnA0=\r\n=WErW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.7-rc.9cadba3_1654635579463_0.4379802057376667"},"_hasShrinkwrap":false},"9.2.7-rc.6c3d478":{"name":"formio-sfds","version":"9.2.7-rc.6c3d478","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"69ed46fadffe67a93c8428283c87749b4ecb6681","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.7-rc.6c3d478","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-EGdxl56bMI7XuLRc5DD8fX6QmwlBcIXYhPdPP6xzV0Mlo/liquPjOa3Y0zDbwtn9wW9WUNsHvRi7awEEHWJBaQ==","shasum":"5f341443d0faa5aa16769f0e4bb5b66cc73ead5c","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.7-rc.6c3d478.tgz","fileCount":284,"unpackedSize":1112697,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGbD5Y+I24WYrxDS1SwbvQ0tH5uY64S/L+PIsIcbGLrgIhAOMpQHHU5yuoJDk1XGOu1+CFgCkw6om+Evou8ovlJZOp"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin7y4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq4Lg/+JulgTtK1UXAEfJyLG3fxZpw2S9dcHMer2rkS/yNH64dRhjm6\r\nkpUo/7r1mjYGTI3/S+su0PFft4StWejq/GQuhry0PG0qAVnjWRVP8n4l+v7K\r\nNUXpIWg6KnA3+vxbnrKn0nL/KWAc06skYGWiECcd90lowZfiZMAA8yONcRFy\r\n2V9a4OsHH2r7u3t0PSUAsHZNE/Qw+yR0ojMACscynswGDsrLsX0ZrL5Nmcn2\r\nSHaHWah7RI5XZ5Cu74t98WyOLQtJmCJUgmdTSNsp4ReFcmVwZiNdIufyC39S\r\ny2gS1ol/JPPqKzyEL2ISoxFVKMJDYDtg7+jHXN7IOYbLKK9LKF1y+nyRuWI3\r\nbTugrdBVte4vikiDtETtDVAg/EuSMWu8HfvbmCjCJuzHX5ubWu2IET7EAYwA\r\nlszhengt/rhxo0vRyVndLZrlDroT0ib3hgWxVx6eQFslmv94kkEEs50HwhbJ\r\nCiCxHGePE+aaaRYQAVGabqnh2W0G38vZ/cwyIGETQATsUsGExUnzxldX8Eq5\r\n5Bi3nKzEBV4YBeBVpnwWaoqnnFrBfULXsxO+97k16J87HF09R08Stfuf44dq\r\n3/u3rLZLlwE3gn8p+9pQ5n2k1CX7GVu/Q4BdM/vypdmRTrqN5VEtHGnTZkV9\r\nOJmDndqCkFWXRD10E7wKWM3n4hgRKBt+1/I=\r\n=xZ91\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.7-rc.6c3d478_1654635703926_0.3532149001574345"},"_hasShrinkwrap":false},"9.2.7-rc.bb4077e":{"name":"formio-sfds","version":"9.2.7-rc.bb4077e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"40d108b1be94d55c0df214283cef4824e788c0d3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.7-rc.bb4077e","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-H0F+0ygTpfto8lDxGBLkRTKc7dulawy3olkjVVFDoRgrME5oeA3fvUUv+9lfwFlh3cnzTx47uh8+TA3I/Lx/yg==","shasum":"5d2a331acd5197aeeb54b2df1d381e242449323b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.7-rc.bb4077e.tgz","fileCount":285,"unpackedSize":1120160,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFlB9rIDNUltgRMW7RRuVYwKYKD1n8P7IvS/A4psDv+MAiEAnMVnC7tui5h2R7ppNuY9ReUiUMsB9iPhyDlJtO1S6X8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin98iACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpqtw/8Ds8STttC7KQKpTr658kGlXTn0Pm7LE+mBwop2W6YB4gTDk4q\r\njl6W5hLeF6i+UpOAEyB4eeXQsy00KFBrILiKcpBj/vCwgtnlQyjsQfR29NbX\r\nsN1n/1z20hUvHKT/UC0eUUJKBALWBmhJT33shj/zzdufSQ7v23+cUW7tp2vg\r\ndq3TepFR7UsF90lrrjOu4mgvyT9yYTVlDxYcjG5fm4/UuWYlPRzjfh5o1J8/\r\nWJyBeBcJIXrN2lVPIWFwscPj+9yP3UQUd87l2NYLBw4+8408+47A/qKfSZfT\r\nSQVYzoXS5Z4Y1TZa0dxT0EyEr1wl5U0eqOaLAm4iaa+kMd0ofUW4uXlglGVs\r\nLcL1nZlLiA7I0xUfPMrsSk+0CnUgAsgc7TRBH0aXKoSAIZCnSvvZqHQ6E1dr\r\nZkVr1eIGemOlB1+FqIFGZB/kAEFogTLUPy4IdTIJI4Nm7u1WPhd5nuKDiB/1\r\nzHBI5M9mtcZeK/TylSb5Dqw3J4GPS6DMuSxb8oraaX0O5KSv/MiQMHe+NznI\r\n8wx1MojJ/zgnq1cBBYWZ9LQp1Yd3W70o/I8iAFcpgBHwy4rCO4OmG/cEynOY\r\n1qi7ulzCAQYxYHG3GqevM918+lXppszlkv1zaHMPfbYzvSxOzce0Ohd7c5Di\r\n5LGpgi++KW4JeikvVIcuylocpaKyKL+Ua8M=\r\n=4YaZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.7-rc.bb4077e_1654644514552_0.12104027151356989"},"_hasShrinkwrap":false},"9.2.7-rc.4a3d114":{"name":"formio-sfds","version":"9.2.7-rc.4a3d114","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"fb51860be7f0c31187694b161868073177d91769","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.7-rc.4a3d114","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-MLmLGYBUbaR5bmhm5fU9qImZTmAoQbUTgR3AJCrlXgG5f7bp01Okx7OSWB2pamw2eFtDibmBzBy5BHW8C5PI9Q==","shasum":"df08ce60fb91cba24a8340220ee6be12e8c9eb5a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.7-rc.4a3d114.tgz","fileCount":285,"unpackedSize":1120160,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHZcrzfCrdH1tEpLS+l8kDxyCLSd/MDeVTQzOHjNFXXmAiApLK0IAfJ/Xs/CdTJYsUWRG0V6/1aH3r0gOk/HouFhEw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuj/DACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmptlg/9HwI2/k0EeglcfZ1ouFo4pGVT7hhXs46VOhsPAchvv1LyyH1j\r\n4LRZrqMf+lZf3ZhKADR2pp18YF9BRMdCqZbU753UZG3MZmHR1017ix7JvKpT\r\ndSsjVlzaG8XFhNwidPvYbgdCjppfLknt9GAdKRbw8pjpVAWJhf6Ot6U3tg/s\r\nUZJxM8r1w5Vhb9ZJUwZIe7Fy0f/opRiG90fkENNOTLhGKscgdmd7u9iShoSK\r\n+Gp8UgBgpNhKkR8EauM8DVkZPMZDY69nfvZR+kLhrW8CyR/V3PLj0rvaaqIO\r\nfhC+TloB/JJTQ6ZVVw17NmKEEg8em12OG131LTwf3OwmLwRI7teLZluLrvKq\r\nG+Iy/p4pk/yed/TgNr+0Ti7IDvRZLy+m6h+lGQ8yDzXBSdLebWvfgFhdLf9R\r\n2gVp5zw75840YzJrszMzPzkIfwXUOyuQnAPPKeaGr6NkDt8/Z/AWLwbq7Jk2\r\nIENpm9c7Z8zopvGBfCEoHRNmile21grJ8XNyBf8S8+PnGq2lyH57xC6Dlt1G\r\nTRFZpfp3JT+GMv8U6rpqS0IRWOcmAoHWII66N78LEHlzU/Lmtx7Rn/JkTPGT\r\n2HTbqdp18QEnx3ErIB3dwSAVbhPpzbJIEQZFE43AcYsMNmFyEKprdMKKeHFQ\r\nWPC8hXtzKl7EkU70X6cOnFpRpFazsBUkkVA=\r\n=jYA2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.7-rc.4a3d114_1656373187275_0.05601166693127868"},"_hasShrinkwrap":false},"0.0.0-654d121":{"name":"formio-sfds","version":"0.0.0-654d121","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"e3a2e134aa455e5736406519044046631f926ee7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-654d121","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-YdoxCzBiQnG/xQXzXo8lBFBnbh8xyb0jcGX2tH+jhz45jP4CXpBhql5SgQoKoBZ8CD7Pb4pW/od6RprLhiP0Dg==","shasum":"cb897b630aaacdf1a570ec51188d628c3255052a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-654d121.tgz","fileCount":285,"unpackedSize":1120250,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD//FnMNsCdQQEsuhvdZan/jFkbZW/baXT4c09pAQ9PcwIgauUG2uDl5m7iSfJkWrax5IZ0kzwCJAdWu13+QpUUqjI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiukRGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZtRAAmNTIt3UxLHicYfm+YNm9Zi5fPgv7VypBiA0LNFh95Vffivt7\r\nCaB/0vDslr4Di09OniH7QhW5BgnkDudZzGxk7O2isos2prpC3Ib4wOA5IfxY\r\nz3xL0HEOS3pEx1xMshcDmqkTLEyX+F0VgjExTWlFPgfEE6B+JsvfT9f46AjQ\r\nNXkCiyx6OtbFhJQqGsFxhfCR74n6lysDKy2yhMdpb20T3nSCPZ77BicpSA3n\r\nlWOxWeiIqvAQQPJXNGrj/s1rbUHsUaOxe8WjYj9a6TB2Ucvj6bHk0fEgeHyu\r\nN9gI7cxr4E/u71rcIvyNDcDiB5hpqLrjhHhU/5LKOvfXFiO96VXxQMxZy2N0\r\nhTHl6NC5GauDilFXQ+8UQrv12gQWw7o8FcGkMzY7OPQ6E3Y5wLqHivWeRnhv\r\nVtEBO7eOG5Yn87tKRMMYXELloq7RwcIZgNkO/2gUqoRHBlhrZqegFhdl+/O6\r\niuaOAfRlp3cIxy8+TbNcSefMPwDSumZ7j1qbD7AjbecimEStBC3RjvCVU/oS\r\nYymIFi8TZmmH/0KLXo7v6D7jxkPjrOel16Xjbn3rmveXyLRRzKxhkp1Sh1Uq\r\nihdTnqrVYaYXiRXkfoIT8k/DUDUYtk1MfvX3HoH4wn1/tOM9BMAjaq+jU4/8\r\nxTYwfaISAc+n8wYTCHB/BYuNnUjH6WFX21M=\r\n=ymqQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-654d121_1656374342735_0.8728785047154686"},"_hasShrinkwrap":false},"0.0.0-0e60ef8":{"name":"formio-sfds","version":"0.0.0-0e60ef8","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"2e019e6d8f6ff55a50f5245b54c8ea284c1140eb","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-0e60ef8","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-OZTkWAA9B3I5B5yv6Yc8HfD86qlqCqz73PEU4i66jATC9vQ7p/u7SDFqjNuuwZ/TN7wQxdPt7X/wCILfLVHTIQ==","shasum":"e5ce204d2d5291c82e30b8b33e8361e17ef7d63b","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-0e60ef8.tgz","fileCount":285,"unpackedSize":1120299,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAEs3UDb63lk66bdhwRczr90Q+MAEbLFcDG3Fq3l01Y7AiAyHTj5E9uffkutcUIuQUPYQuHdW1DRZIw+PqVnTAqAlA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiukR7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoRRA//f8pT+dakI4PcuBHhtj+z1tt6ISUhS0DprzzWNsw40WtzHgN5\r\ncMGm+ath7xa98M1k15TuxZW0I6mMLm0d/whxkB3QtDh1qiM6TRKB+rA60gT6\r\nhim4Nq+ggUUMQV3f2DvK4a0imbxftG5FsbKyQlPtv/zcHbhyzANTabb/exDV\r\n/C7yQmYEG1TFD5a7nyRDoxjBl80N8BSF+qD5FZkpeTTBil5FO9fYC7AR/fqV\r\nFtgYminml3xtd8xhVQfxDHeiWkW7lr6BjZHPRcVQM9vK/eiLxnjQ/hHiMVO6\r\n5q0v8kusqaqdgcD1djqv3sonWnKU8wzb2L+14Tk5ByiUbyEYGtYsIKwvtK/h\r\ngFwVfmht0azpyH6dkok+6metylIGERTunGjeQteB2uo++UdeMWFTFA9tp2BD\r\n3jPEPUkP4yShXDnmI5wFLzkZQ6V2YMf9WERzHKYV1q+2Ohaxgw2RIkHfLXo3\r\ncL/dL/yTFQRyBBlAvkPoue6QW8roa61/Quwnb2jKXAjx1eTZC3ZPOps08+sz\r\nj+nYsFCciaPWqtSz6jGFhtLQwvnDV4QMMut770xhe8iOnguyFinrOTafDW6/\r\nFNGahBnLRf5q7/1tLL4hLr6HiPcLLuBCTIiwJBzng25EuDreng6Kcpl0PhYD\r\nK+boB/kZ/W4d1myOdNRg1UINkkNz9a5aCb8=\r\n=mXVJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-0e60ef8_1656374395345_0.03169583008446497"},"_hasShrinkwrap":false},"0.0.0-ffcb829":{"name":"formio-sfds","version":"0.0.0-ffcb829","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","clean":"rm -rf dist","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"d5003f9427b904d36242457acc7f02483ff363e7","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-ffcb829","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-OnYOCZJ6t77d+895o/FgkXlX9pBY0y/G1GLZfht3yAl7dhiemgY4gyoer820HyTK0C2ZzlsM2VQt9PPPzdmH5Q==","shasum":"b40ea50997ef767b8b7e958067acec0b53687b39","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-ffcb829.tgz","fileCount":285,"unpackedSize":1120327,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDo9UurhpvDQxlzSvZqHUpkca2lJW82hD7L0jsQf1gqTQIgftLJIgm+MZienI844oDAPOa4Ry9Mut6YJWNyc3ooW4I="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiukZFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr+/g//SYo9bRinhCXKjnjKN/MRODWdc/YgJzxAI4cBxSIsF+r1fNZq\r\n3j1Ss2xpH2oxDnhi/K8R6xEy1RUl/IgkPiB/lXa/xZj02xkYgTqMlLk05Tw+\r\nQYznHwy21eiBZG9XSwYUtxn16HNcPM7LHOwfSdAEuqQkccItvO3IJIqVEDsd\r\niZ/XlzTvpMdkUSW3UUgNyGtB3nT04QHRJBijgqvDauGIrXDXfCRMUJCYiMoj\r\n0eswFJ26aqM9JkXviDc5dgt/u6ASkFVGLXwe7ABJBM3n4GxayDfeUCfq7a+Y\r\nM33PtllzemToJh1siV7+8payjauSdkrQHFfG/z575E5JKM1zov60vjWNeX/h\r\nYcfa/ALfysjkwYhVwEJZ/NVoAjfwly6DHlY+LO2CbhHX7Vyv99Kzt4LOpX3d\r\nY6u2NzyERIO2ee1GkdvVM7g8/nffo3cGKZxtxTqFqBGc8vFRFqwrN43pEJ4w\r\nIXeSRVjznRc7RcHfdUAJwsDYNgMHZCYThHA9yT+E0jOcg3xeclkC+EwP2RUW\r\nEAFsKXfkzqpFfnN68skH9WTU3oG0rA4NzttjH5MpDHqfoOzUmXpGI0NljITk\r\nSiMlMJrVyw6htlV7rDb82iIx0HmWCj/mzEDE3D9xvuqL+3V7UJk0+POEDYlh\r\nNVT7gC5t4KDSeCNFCWvMlOxyGSYU/QymW0c=\r\n=rLTl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-ffcb829_1656374853627_0.3453024053887528"},"_hasShrinkwrap":false},"0.0.0-428734a":{"name":"formio-sfds","version":"0.0.0-428734a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","clean":"rm -rf dist","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"aae355168e9aefd8aa4c9501d5e5f9e0bdbaabb5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-428734a","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-fUrm61wxYu0TMvoze3lEOCOxe9fw7acFqKZQ72j/F7dIlnWsjJVTNmLZK49OqCtP+p/wdtMjnB7voUElVYN+lA==","shasum":"1dc8d9206fdf012f8dcf5b3ddc77faf826574de7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-428734a.tgz","fileCount":285,"unpackedSize":1120243,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBPCiXEgKnBmpbP3c7EEHDs3blxXd94rgPPCk0N7FK2nAiEA0WMGgJYXcwpY+EPN0RskKUAG+I6+qYVU0BtQeEaQOO0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiund/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmopog//ULVYxuBQWrX3uGmajetOHXWtV1lKPirsocVXzuB+G5CDWQ7C\r\nNS2+eoLxQqYGKSMydQ3W/xrMLcPCIytdv9pbfE5Zm3wzBQED8b9OmInS4/X6\r\nyOaOSs7lzDEY02B3b/urazG7ZMf8ljsCGVRz2U6ki1262w+xzlTPUeJji1Ue\r\nckdqgs/sqmsMLD4mUZ9r4SQe6WnssHHDIuolgvjmkeOOgqHfMl4e2Nq1xmxW\r\nsuOBzMEeMhEg0gZWWgKNylAlqPVmYJBJlqpOJYqQZDx3saeXieYYVnQkADIv\r\nbL0A/0wEcX2zBs6fQICYVE4ND8+uwaVaV39VunqIPizhi5X+OjPUubm4AsTr\r\n4pwM6wfIgezJckH2Dj1b3aQ3nUufjZMeHm9FtSg+qsOLfRxtoMGmyNFshEBw\r\n5GgkZbQGE22m2ckwha7r9eCuABck9F6SIv2RPRAP75LGNYZPIuBReWzVm5vE\r\n9q+6d6LD2ftrssMz22EhE9ROtOB3vSbtA2LYuiyenpgDhWURdk3NBNAHPFml\r\njaEQ0TJY//BTIZxVJm3RgDPZdq3/foC/9gn4bIUQaRCb5Y3NUkR+A5EcsU8g\r\nsqjeRSzCd30qwN6FrV3jPO95gCFHX2VSTWOdA+3+R6EvqbXnQ8kkoQef/Put\r\ndI8Mww9vEqqHuNKDjPP5o6cvyA0VFDLKSCo=\r\n=ceDK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-428734a_1656387454909_0.5889639559462161"},"_hasShrinkwrap":false},"0.0.0-aa81b70":{"name":"formio-sfds","version":"0.0.0-aa81b70","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","clean":"rm -rf dist","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"d8b77ed651a3a2cd48570a23768921ed596c0e45","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-aa81b70","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-XEO/KBVGttKYkXhfZG5nJSlq3262FDRklEtPRv//MGeJ+hSG0wlKnCGJIx/cwJ9A+3w3Cd1a1t4Dn+oQcnH/uw==","shasum":"78d0da826b773fa728d995c3aadbeb4c65bcf4d5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-aa81b70.tgz","fileCount":285,"unpackedSize":1120243,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwQu0LA6RcfTDVDwUPQssU85XgsrQo20wAzKhPkxO37wIhANAXxLFsOCBhbMFjxjfEtVLA1JxrCc0b2ZiTLGIr9Oa0"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiunpAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJ6A/5AK7kERpKau44V4Zkk8328ZLMvyLY/1jAWUix/biIS4NMPMK+\r\nNNKz4zo9zPMu/kFPeD6MOPmhEkf1+WK6EMsM0yWoA9P64+LJtpL2UXyXUVcE\r\n3WlDoB95izxNUk/tZP7G3AsasiUgQcQ3v73EPR8l7glD37td70QOHazohqfG\r\nqjMZqT4uKDUmI9rpmYU4QvwF+e68ERcPEO8WSZ8u7NQS8t5Ozvg+ysb9AFch\r\nuxBhrDG+dU7eoU2NPnf8y39AAbBSbQag4b1hSg8gbLh+i9t0xeXwARY9A//K\r\nV2/D6deVxAmu+tM5ivaQQVt3PRZmc3gcNVJHgrwmLh0v6uPxzUON2IoiZnV3\r\nt4ZuWu833eiSK7U7wtJ0xBVHQTuBxyG+Rc265jxqWfHat/RChjBbcx0B8BMA\r\nXJ5hcacUz7uH9c7Z9FevbXr8FIeRzFOmKN/nygqZjsxy9YE7BNqJ9WJiyzL3\r\nMGr2V6EcAP/0JwGcP4+ZdHI7SFgb+O0Jh3CRrNxEcXEUHDqBCmT4UfDeMZ2b\r\nxjyu5SGeMdajhoF45YkzCMYxwYM/1ccMgoJQv8HaqN1WuaRUg37Mjq30y4lL\r\nuSYt+oh2f+bCt//mxUem7QGYskJcj4uudGmhGMl3oNDFUdZLtb5U4YtRiPaz\r\nx6/0Fdfa0wmlXXraR1shWEMJU4JFadM6RR4=\r\n=RatK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-aa81b70_1656388160106_0.9223167178588689"},"_hasShrinkwrap":false},"0.0.0-8c86e8e":{"name":"formio-sfds","version":"0.0.0-8c86e8e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","clean":"rm -rf dist","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"b223b4d9d67cb111f77f9d391a27b35a09737085","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8c86e8e","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-ULM8v1wqAv4etL0dWzMPNYEduOGbijbZZyn9CzQ+dBgzEtC1uWaoZgTTU6EiqWRj1/DYoC0YnCzCqBa3RuZ6JA==","shasum":"55dd7a59a93ef7eee0ad68787aa635ca77a8e547","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8c86e8e.tgz","fileCount":285,"unpackedSize":1120243,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGzADZNa/CGRSmAaU6IH2XqhI+RFk99M2lD3DM5FT1VRAiBvzbETBZbL6H4Rc+L03OMUfgzBv+HAZEamFUVLFenCLg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiunq7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmou+Q/+MldmV/daVGuldQhT8ycpKRWRwx8od3BVZaoUfT+R5Ut7FKdA\r\nCK/s/xUG35ZrhSWVQ3bJI3UzqDTwEaTe2Arpb66WBKbCSEiAuEaxO6FkUQNl\r\n9CQA8Ie71P6LNz89VFjkyc95sVvFiRjA0IZbT3ovrdqLfmbLdl27z0GGb/qB\r\nzlnFPlDI+gZzcsJLKJ6xtJgq6h9yEz1MyKztTjt20k9NrowXOKWuBf+fIxCr\r\nhFz3xYESjAHlccE9U9v7nuQ8QRYg2en74t9Fxhfx5ukq5aeRhFHw14ml6dTA\r\nNrQi1U0xotSZo/p0T72+2Z5JslPUr1qAPrAjhlESBUQByroDi42u/Me3zWAG\r\nsjjyBn75DH0UpCUv646QT0C/34xpIL6qBIV+IRKxy4aTnq5R4pNqC3cbFV6c\r\ngjZwrxyVaUbja3I8iPs2TiV1b8Sb5zVH+JIpnndHHy56dWXVsDxWdFjq7l9t\r\nK4LLk9tGagor2OQyTQCJlZQ2jfokOlnt50bBAEZX1GBUBIbhqkWQiWxrJBDG\r\n3XqLRVSCv64tCYWqC6kwga7+wFXgMO1z4m6ZmCdEsOOSUjnT0q7ZNvCo3I5V\r\nV6A/IfsgDNa+lvin4vEc3BfOPuuuppZmsDKI0GmkT2WcjziPiI4ul4wJzOV5\r\nTvyACCcpanzS8s0GpTRnB+15m8JhVb34qs8=\r\n=NcTx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8c86e8e_1656388282950_0.6163742269171604"},"_hasShrinkwrap":false},"0.0.0-75e5c27":{"name":"formio-sfds","version":"0.0.0-75e5c27","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"12.x || 14.x || 16.x","npm":"6.x || 7.x || 8.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","clean":"rm -rf dist","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"e9bd33004b2bd8b850cfa3349d4d1dd1f8e50218","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-75e5c27","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-dDLPWSr2ZvIO0AGe7R2kUVzB3bJPD734qUQ6fQ9DdyXkEFMxxWOcqZO+sNvHddqfTblomgco6bBbs5tnZbKFMA==","shasum":"a29c5dc0b50111a424bb668ae9bf2e553d3f30b2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-75e5c27.tgz","fileCount":285,"unpackedSize":1120330,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAlZNOtA/XoOnO9HKUf96ZCmCLYN0if0etyCT8RaNUrwAiA0eaiMpDQZyOLsKUOJ2CQqbmcP1A6sXL8PsDsAnKembA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiun2oACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqWbxAAjW40iR+QIxOifiSfK2XtKW+qBo8IkK8PY31LQWvXYhhWofZC\r\n1tFFS2Tr9QajveF4bAR2+gwosvKWm0egvHLzV6vosF0HDTv5v1rCTGKM8Eeh\r\nUFacCEYaqChtF7bFOYztgY9N0dLB/mMKcAQYPg6rA0BbEctaMrIvO25Qirdr\r\nZOaPyXW7KnAFHonFw2EMo6VX+KxaGarLv0w0FcZH5Hqqi7j7ft+3pouTrDTw\r\npLAWEgfiGRbkYPtES6N1o6ImZlklDqVJFzUmLCBEDsNiGety/Bclil4IMsxe\r\nhRolnnwwF/2+gCLYhTRTI3686kfZmuwrhXPVzInsG+2LwkFavNhVa1wRcYpQ\r\n2qH0LLK/gGgRb+g3rxZXmFpEPEzctnTPtYtpAKnCL1YgD655/v01vI6deZbA\r\nBa3EFau8acYazAe6g+dOTGAcEFvvlZOSqPn33kWLR+caKAyPfY6wroFYpAdN\r\ng414RfcO3oOcvloAQvy56JaiqInZ9u+yBubVR4WFZKYdx6xLUHfthtDpd0SC\r\nxKtBvsUCYS19HW1WE/q3RcZyLlnTF3m+5WQdQ6JvyE49QbVcV2Bz65R5MCcI\r\nVzCtcmUzl6xgO/HslzYq+U1YlbVfKk4GANlDYyrv+D0KFs1RKsdMuyETwGr8\r\nzi9PAWFAfGbGYFXwdLU9uIQu4nHH3MbDPSs=\r\n=TuNR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-75e5c27_1656389032282_0.40239251739334136"},"_hasShrinkwrap":false},"9.2.7-rc.649ba2d":{"name":"formio-sfds","version":"9.2.7-rc.649ba2d","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"2239183386f2c5b81a90553528f002c0bc93ad57","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.7-rc.649ba2d","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-hq9sHO65++7APUvgbm7NcPYAamy1wTEl3Ep9wLJeji4rSZkLScp9ONmwAR9kpScMW53cOFiFZXw0F1qXiTTBpw==","shasum":"9c1efcc2ed12411e9d979c03f26e5b99ecc99281","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.7-rc.649ba2d.tgz","fileCount":285,"unpackedSize":1120302,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJ9MzCXIhSlpFPIDbpDgnIyxWu2d3cQ0taZtC2BRI+7AIhAPNeDN2sOhhgK9YTmt9wuxq+O+dH6ECiaypF3hg/YY7Y"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuoDmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQjRAAlQAo6ogUg3qGZEYSCXYgyH/QoSrxdB1lsOL+3SgzPy3E2OAm\r\nIeuS3rtHroINySKd1AqbNCBWDzwrmDuNM8Pcn2SsAU6MMDb9F93Jcv82iml6\r\nxKFB5o6wlfBZNQax0/I+kib3OJW+AC1IELimUqdORvpXlmnhhFHjTwHC/wpH\r\n3Dg2oVDPkXHNUyZ/cmNk4Zy2ETJv+rfMIXsi1hZG2JYCdW8Xrr2U7ahLe1pj\r\nf5Bgn8gr5nmCnUDm1Doi59agMhnf3fF9GaPk9avlTrWF5Z8hUKKWKr32vpJZ\r\n4jnpWu29ZwmaBmY1zj3ZahNkVkjqvc8/64tmZ/jIr0aI1xBAQxMONvnuxuJD\r\nOxkClshWbv3Dms5gNYYHVvGwBlW7GoesON2QlbxNn3UP3AasJ2wbwJud5uGn\r\nW//8OrTp5Wvf76LuCemhFS98/1DdNA4f+9iHc67bKd5nAcADQIVTdacRUq6P\r\nBh4EoCrNawCS8wp0yleNSZODg2v7fULW36w4BOWTxC7tha/wvHJm9AAxwsua\r\n7hObnT8t653FGff01kVQxP8siRC6kywP4BGNjyea/0vqWOUjpjs9lOv0HtN+\r\n7P1t0a14gurP2tykNF/FfgoumoqHwCpluta09c9+SPHGNh8uu711Xvz3dhSa\r\newOpb/ro2U7PFg+xcwSgbHdoY5Sb9IuJgrc=\r\n=BFLj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.7-rc.649ba2d_1656389862553_0.3727315787865413"},"_hasShrinkwrap":false},"0.0.0-dab5197":{"name":"formio-sfds","version":"0.0.0-dab5197","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"a40b2e26b15c82ec5554dbe9898bfc0ab5f2601a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-dab5197","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-GYK7K7SGOH8O2KRoiX6GG4ruxINb4yjtpGGUOGwDlrTc4lu1PL2dm6I4k7a/aT1/oFt1/6qQGHwKFjZ89vPszg==","shasum":"8e0f9ea4855ffaf6e8d41bf6f9d4d0b53287e521","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-dab5197.tgz","fileCount":285,"unpackedSize":1116873,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDoOieIn4vzwvwnvTwQwV35L1aqN+HWGvW04geu/QtedAiEAz3KMxgl2is9NbsgUckjWIFzTFVvCb8DbXOVKi5SwKRc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuoFxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqqSQ/+KZtaqce69HgpwG7yHj2EQwNwESoZZNYeOTri5J1kaKjMCL1I\r\ndGLlZMb/qUMCxa7Rrxzshj1BHrGONKZl52HFuIJa5i4QXFZBlwqBXF4fNMZ9\r\n4uPHp6795336Kgd7gvQ1rPnX15UBfD0eXlBF+Zm4fB2MVgrXRwBNzQe5L0fj\r\npI4DfakSfjSBkE5Rh5Uw4GZUsptGQ+nBg0r9flUAS2LMkK4GSePjHeZ1+vOb\r\niyL7dcLFRZQsEHiMmLujsWLmQmo/QWrgUW1vAkoNMD89qaIByZAUV33mhNsc\r\nqm5TgboYjsXgeOaIGrlBfZTUkOsIo8jFYZkAU/G8+5rnjD4cM9RgSM9XvCHv\r\ne88dENxDHoByfczKcbs7hiRplCJBIQgfzSBLSBMbTGkzteRkxcykgxXDEu0X\r\n4/7gCJG4/57Qq12wfO2VPE2KIi+G826cVPknzKfNOb94QAMy+e+r0axRdxyZ\r\nkJDJ6Z/tkoahXmXWsOFVt+BA+8bjaQIlKPQ0DQ+CP93i2HaoTeP3pUO3TjG+\r\no64K+uRripu5MjjyvkNBNwDdp43NAh2s9uzca6PjJpz6x9DPTy6UZgdzThGN\r\nlx0ZpbXJC3gVlJNLYmSUZ+VbDsPruO0B1muYKNBGGlHt9hRFY3+W55giu1Jq\r\nQPlr+1atK16BkUt1s9SVKGRMJS/pnntfUVc=\r\n=PFhG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-dab5197_1656390000713_0.6634281713775008"},"_hasShrinkwrap":false},"9.2.7-rc.2405168":{"name":"formio-sfds","version":"9.2.7-rc.2405168","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^7.0.31","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^13.5.0","stylelint-config-recommended-scss":"^4.2.0","stylelint-config-standard-scss":"^1.1.0","stylelint-scss":"^3.17.2","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"45a6c30d24d578d6d0331539dfbc8c5480256c84","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.7-rc.2405168","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-8a8+u9tajOBl3lkOcwIM/BNrzJ7yGmC0QlzMdkfZRAaz4llghWqjqZxuuwAg0MhKlaF04btzuFWQRSCarNCuig==","shasum":"ca22ee2d8461bb09eb2f6c9c99bedf1b5dad27a0","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.7-rc.2405168.tgz","fileCount":286,"unpackedSize":1124508,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgz2B5m8OGoUUTMRg39ze1GLqYEIn9NuVgHsiDgb7WvgIgJkvHc6aJUWIWKBHXd42zB7Lv24kfzmx1Mnzi+7fYShU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuoI+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp72Q//YjiwlHZwo2IotFCoaf0uGOJbaQa9rZbh7LjCnzEPFyFuOvxi\r\nTG7EN+Kjxiag6S6rht+Q4d293TVZ3GKJoduDtMrzTx+eAobAblpKmR7RqF3r\r\n9LQ518cCRSFFwtWZpK2UrhjJ3MqKMCNoxxwtR18n4hTa3r/m8lJs9YO7dCv3\r\nNEur2FTH0Sq8SZwfjzaRYL3Y6pHGr/mGEv2NPiY1DSLgA6KZTQXoq7j8A/YD\r\nAsnU8ADORM2O/jze3yEFh0qYNCGKRCYSIzUi8Eo0nhndu9ZxXCDABlVD4/T1\r\ntpAiZh3kUCkqi0mS6WbRX/ZSV4XMbzN38PBr8eJDNVQCDGfZp7ozmK5wjymj\r\nCqyA6Ib9mvI8KCyWSLQIZxZ0zCrLcXBuoNE9aTPAoUAoaLNnV1S8EKYR6jKT\r\nXldMYPOT7+q29Y5m5wAcGUR+aJK0mtqC0yCDPhSkqIkQu38Gz02c79Img6md\r\nBZE2rPbUVvzgCw8c6SHxaw0Kh2MOhbZQjREwUKeNJe46kjRGlYP9cYqEuQ+E\r\nUpcWy4mco3/sDxJ+8Dx3mE0tyy2wCZ0F6CmwMenmuDz+aDaHcTicEIrYBHrC\r\n/ABMKLad8Fn0yDPzC7CWno71D3Xt4/PNH3J/+/CoS1ame/8hJc6nyWaE6jsQ\r\nBrEUzXFloKl8fnkscAt0XnSpdfWG/Ct/14Y=\r\n=La0P\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.7-rc.2405168_1656390206544_0.6349222177147811"},"_hasShrinkwrap":false},"0.0.0-f5ba586":{"name":"formio-sfds","version":"0.0.0-f5ba586","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"2b60279b13ab0c5b27a4fd43ff5dcc8d8047d250","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-f5ba586","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-70yxZgQLcL43FErMb+ZHPYSRXQUR9IUwdkeIh77FrRBRmqJBY8ptQaVHmhtuiAwy+qUhSK4HYNUX1Em8RFRCdQ==","shasum":"7b6069f7491e07d22a6ba34a0c7623664a5914cd","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-f5ba586.tgz","fileCount":285,"unpackedSize":1120214,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDH2MYUqUIKiUOKUVr3n8wZwBThvQbw3Q2JQlE4I7b6sAiEAus01W2EXSLxf2v//hGELlpU3RTNmxBP3oFOGH2dV1yo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuoWgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmofVw/+M8GGZuHsSWlcoIwx+5dj+krYEcvh91TkbZ14tm5UKQTrT95K\r\ns/Dy5cPi2QHTHG95KxDxiPhaVET7h+kHyMkjfd9DCcnFqjkX5XwkOQl8FFr/\r\nCQU/Gdsg197celyZ3G4KvxA7vIvwcGSlMW2ic31rWTwzXKhSvkGxKJetw4zj\r\nC++KAMnB54hrzemBB4NH3tEUK81qXNAZqV+fCinfoal8aTQEYy5MomrioBX4\r\n5g9Ow3O+MQV0bi8YfhEP6dokQqQc+fnetjaAi+UVN45NOw40cz3wbmhbc/U6\r\n1cHG2ylUjwJa/zWlOClKlygQKtYa/0dX81g6Egh9iFr8i9bL1r2j/mFWcD0M\r\nSCv0K87bWNQQUddf4/2808rmW3K4G8eOMCtPFQ24VDJHtzeOrU7eKy6HdPKu\r\nxkeM8Ov7XAOGtoAnSpCQ0UoYcB2yKChrGvJR9MCq5UPp+mWalObuQ2GiyQfp\r\nU1tM28qNXxg/JWGM7Lsl3jKxqdZm3gAbfykNd1GqwMPJOIsY23Qd4CcE+/ar\r\nrZwQedp7ptXB2nZZHeIMUJ3DhFSALkWYr3ptZn0vMnfz+1UYSM+z645fHal/\r\nMTfSroTg9R0mGiRzsB2AOM0CdhOBA3G9+iFQGJrqMN7kVK8fbHgmxJj4iROn\r\nR1mYlLHPuJU+i3aKFYvztTpI7ponjRBJCn0=\r\n=nPaP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-f5ba586_1656391072294_0.9070692698657445"},"_hasShrinkwrap":false},"0.0.0-625abf8":{"name":"formio-sfds","version":"0.0.0-625abf8","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"12.x || 14.x || 16.x","npm":"6.x || 7.x || 8.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"26cdb53452eb1dc48d860ae97786e84c137b2266","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-625abf8","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-syp9lReQnpC45+rNSs1bfASGecgGxVgKMKMS8eWfELjuxKbxgOajaUoDCDue/zvkiEByRAfuCJMb+DTA4ksOWw==","shasum":"b5bb0391b12b935047b29c38825f973d711f6d82","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-625abf8.tgz","fileCount":285,"unpackedSize":1120301,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYYr4O2DyakaWlmi125d3vE4dWcqQ+NWRsrFNoa6vb5QIhAKuBkOavIXWdpSDMp/neQtZveUdDNMbmb2kUlMpaf2r6"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuobfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqIWA/9EUO3ImCaisJlYQM+i31zUUjLKcCp4sHXetIm6k+g8/y9SVXI\r\nNDOl8hNQYxArqq3x7KK+6gxsBR8EVS8dTxsB6hBJmCfRMBLsXA7dYc0sHfdt\r\neLZhAXOes7taM9m/az9uBitQLOqnxmatMVuCnLkArMUfUBfmVS7sPrZ7FWc3\r\nPLWm8s98CFrmen9ghW3G8k1GG2XdeHo9/Lq9+Oq9yZ3AY582+SqZCb2mHw4J\r\nsS/QUHZgfueXahWUdSqt5gdDWSa/GsOTrEACftCaMxX1hZyy/IU4ttb/vGpd\r\nF3xdFc6D9/P3mdxf4ozW+IDDipQPeaZj4W3q1B93yYyDKmjGgsqqCnu2F5VG\r\nKLa/ssiCZECaQzP7W0eXFiK0iOW2jRKnRAvqM7I2Zwm+dohdlX0TipApnY9g\r\nOLNx8UD5WSNCwKon+yWAWQt563LgbNY/QedYovV8DjAHjRwxbBNeumq42p6h\r\ncIdZOi3/EFCwPRvPd9S8Lf7yqs4ni0MJ0Wf4YFwTVdBCWJ97Jk4Clq0aDTIY\r\nQF7wavdelKyEGG7hXtMKOIsdPqkOdCgarQspeVQrreHAJ/SvxQoHhkxT7dNI\r\nl7vvB3958vwwIJtu2l5MHynpvzSFTgON69D7jrQL/z0gIZCd7fSCYwz3xUR6\r\nNeNRfEpJBKgFpbAnAGMyGjPkDbySJ0DBBhA=\r\n=ZkcB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-625abf8_1656391391439_0.11582213982082012"},"_hasShrinkwrap":false},"0.0.0-df8c266":{"name":"formio-sfds","version":"0.0.0-df8c266","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"12.x || 14.x || 16.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"aef10ea3fe3af24ba2496a4fcccb8660d1bc3d0c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-df8c266","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-KyvA1Zw5kcbKqJ9wJZ7BzNX7+Y8agjs9bADadRbnuRDTrF1EevG/jvoR4sOdD/ysT+spiKgVj/nGTAmMkC4GVg==","shasum":"35cf9d959d4a6c5913d401a38e6b53679152cfb8","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-df8c266.tgz","fileCount":285,"unpackedSize":1120269,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGizVdcCp4XN13TIwePcgvQRvuwanWAkIHWMQAtQ+NgsAiEAuIBoviLcM+YeiwGddAPOZ8ZMCuMVgRKX5z0WxvDwS0Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuowVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoI0xAAgFYvuSPPTcUmEGZtiBz8Knyd2iw0fyV7XeF3pZ4bMgZq4Ws1\r\nm6Jz05zqRdVK+WncUrRMh2q+9IMu8Gx9bxtGaykGpn3DrB1a4fCA2FENuA4J\r\nu5qtYDc0XVlQbPBRhZkPSLpqo5R2HFXUO8LUxdXgjlxJtTBI3xtvzYKjbor9\r\nNxTEVqFPJIBpf5vWhk7c+nfpmeaW43QhxLq1aRie+ViDx8Z/QN7FmeWyAiS0\r\nXrrU0tEKNDBtRlwlL66+kOfHgkc6y3QK+zazWE6UC52661g1hCl9vqTQeFC5\r\nqVjNH4AhgFH7vQAuYPX+6Y/fFn13TgtG9WMPPuMOgCJMa8QSET6XC0eDWfSO\r\n0vwnPSL5j7rsXh4Rw4pz/eAieyLX/RLqEs41Yl7XfAEJivBVU24f1XQJ4ks2\r\nfGrWAd4PhvtY9c+ydz2tYSiRFEG5OfA+p84vRdWqFUPEzH04rB6HkGevkgPA\r\naAlbSNOlK4oQgnTki+38+Sif6Zdsy0l4WhUTFtVOqqwWgTr8scy3iXwH1EAj\r\njjtAbDVJ4kDy2z+6ejT3fUws9/B8ZvZ8MlTUwlubyIP/zvNf61Eu+Zz9kh98\r\nvVDbeOIi4ZKN9ADTNmRM0odPnfHtkgCdlzFiNQXNJ0Cco/nS6QLMTVz6uBUY\r\n6tPNAvbGszxTqVrmHz5RkT2IvkcJpE1Xq5I=\r\n=cTqA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-df8c266_1656392725460_0.2098852069445929"},"_hasShrinkwrap":false},"0.0.0-878fb3e":{"name":"formio-sfds","version":"0.0.0-878fb3e","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"12.x || 14.x || 16.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"416594cd0b61753b884a9b35c0edd54641026c80","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-878fb3e","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-V8jnKgg6pCUIpwENFXnloj1E5I2g9dlZazYi2Ce6tuHfCvCAFL1GRaANKTE7wFal5qegPLZwDeZt3bqYFFEeEQ==","shasum":"e0350670cf30888bb920f3cc1b83eba1b7fe9998","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-878fb3e.tgz","fileCount":285,"unpackedSize":1120269,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpatBNSfnFddVzeFtQ4PyokNdaQ6nVQmws4FPOc5vqMwIhANMQYTH+pjlSbh/qeOMUMDF8j8I9xBREF5N0mshHIrIc"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuzF5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmreJQ//UHl+1H8ocKk0SsuL8tgzi5HQfs56vPfyD51xrJo7qa2b6BTe\r\n+Q+czx4dIUqDjxMjXrouYl+GwoyDrapV07TXOfkZ2lsGYuDI99C0rPWPRoZS\r\nmVAIhitLyd+IAMQA1N+foDM6JCVPuMcE0BM4RFshf30A1G662uuLAhf3rvTo\r\n5jjk81Prd5ev9ltGnh2mWpH/Wbtq/ozbRYgpVHb98MAtdTIOtaKG2O2A3BPP\r\ncoFyvMW548bX3HcSGLRSLZpptj+ios2+1zgMWQSPCbaqFuNpfUDzXn9AUczW\r\nh4pqXbwX0iByeQoozhFnb06SJoZIa9dqm1mLidalMYDc2U6AGlijw5cV1jOi\r\nvtW4tsSgwtc5oWEz6E3hEjmpsbnvhojlYzxILm4uctEqXXD0rQ20gDxE3BBX\r\nqKhqXUltR4hePEI8QsN5X4tS2PzodCYGRebW07K/Wj+kGIorOSOUu6X3WTYn\r\n98wDcknp3LaT0CRuxUDBlPkv2akLJJ5SbVfLW3x+4oMsM1KJTlojswC7WzgR\r\ntJqwr4jbGlToonnFwxRKhUDBO0Zhjvy1NEMzZ3o1V8lnebQFc8J9qe9p2vsP\r\nNLtFeEJ6jIEvHgizOVFTonMScK8zKhMvq2fU5ChknRiNXgR9b7XSPDfYTeOr\r\nWYvGgSi/A5OLX3HYczJ00AEltEOvm0mWAkQ=\r\n=Xi4m\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-878fb3e_1656435065335_0.652794491773981"},"_hasShrinkwrap":false},"0.0.0-854d590":{"name":"formio-sfds","version":"0.0.0-854d590","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"12.x || 14.x || 16.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"63d50c6ec5f8af24357a5897d0df9612e4a4b2c3","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-854d590","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-elw0/PFDktr2EmqhlxFQP7GQZJAcBmC2wZ/gBTw+cEZyNQa5BWZfmdh5vLej20PvCvUO4BcDgqgHVyNI91dC2w==","shasum":"f7efed7ea87ae516f6966f0d27239eebfffd851e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-854d590.tgz","fileCount":285,"unpackedSize":1120269,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpBW1nQ2KTJ1LJT9T+rKP0g37krL1dSRVOuv6uyAmPvgIhAMJ9fDxowpvJkCpGwvmeQvo0TCbAWpHAjrY8OmYhSxI2"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuzJRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpb1Q//esconnopeXBZ+mO5YcSH+h8yGl+5o4RTQZ067bZMV/2ajEbO\r\nvlo+mUq+R9RkHB6F5Z/4GhGzgJ95WoN9OJ6k/Ncnr6xzNGE5dEc5TcVrh0Zt\r\n0LnsdjT8fZOz/WwEU1Yuwwn9Z1RiXfUH5H3F4J8sZ5w5BKzxy10lQgr3kNht\r\njM6pAFpnvF9fytASPWg/R8LUlRatO8zmh/7Qub17WaArY9+4PON/2jrWROao\r\n6Dl1LA6YDdMR0oDVkFnX/xVltMwDo4oM8z6xnIKelEAbO8KpqIvxr78naOOM\r\n6y9FnPsU+XHRF2xTtUz7tEAWFWrhZXcuVcC+VDMaICXdHxBGUDAmHqoXnMV1\r\n7NkDyuCQ8iu5ALd6he7IFi9xmfADoUmEPe5ByEv+yKee0XU7KaANY2VRDDU5\r\nGGmlbhM6HS7i8esxPYs6uH+oR2myP8Z6SsYHXL8LyekXM2bA8jwbufUcqcPE\r\nNblrFMQMgtL9ukbLqp83omwm0ny17Ud1mAzzfcSi/Di+PrGjtzIfSnx5lXxH\r\nF0wbuGvNnIwgsmAiDIaSLZamIZDtxtUGadEj34ZwQuKKB/Pdg4USu39HXkKg\r\n6lP9aB/BKBYeoPX1y2CRT3fsqXFWtv5N9DVtvGW0fRcXkxfquXQ5i2psoRbW\r\nrJ2p0Bk7jEjz4nibvrXsSnab6CbV4tfLha4=\r\n=GKuL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-854d590_1656435281415_0.13925036484824593"},"_hasShrinkwrap":false},"0.0.0-8bee96f":{"name":"formio-sfds","version":"0.0.0-8bee96f","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"12.x || 14.x || 16.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"ae515f73b4fbea2beaf57110855ac1589913c829","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-8bee96f","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-C1W9+/gbuQRZ0y4o5LFnGwka0qNccpKBDySr4s7rfbh2FrykOr4GH6c19Vz/R+j1d59ehgs+ZsgM7oC3m8T4nQ==","shasum":"365684e9d5a8cd4ec0049c44a3d0b79f9d14903f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-8bee96f.tgz","fileCount":284,"unpackedSize":1112670,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF+VYzuKGMkP1U2bmRkflAumokFUzDDRDQ2fei9idpZ0AiBI7tuqtSPdr64hFSpHEdiwtlZPVfldxjHKfHpSlBcmxA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuzd9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpcdA/9GIrw3b5p3JgoNQ0V5frdLkrLI8sCCY1QktOAM9X9wCYaoD6l\r\ntJ9h5UcYeDzxpCHayLyrcFTMc8cU4xWRdV1YV7O4lrPXosJkVKP4/qUxk3Sd\r\nhPE6H+uvgCpIujTYMXxRCKQUOoVKU7qVFN74J3W+0ARlC2+cbCYgGRDm+Va3\r\naBVhs5V4IVfAoL/drhNmMXiHx7kci0ZzJ7YJOuC5Uj1mX0twLhQJp8uncrX8\r\nFImTDEI6MY6ZEpDbpcmk5NWKJCQVPcjf4VVZGSMaSRwKntcfUxm7lAChU6XB\r\nihyOtDgtSlBhrK+nWJ2+I+e9V+QTzSL37uwcnvKYX6/pzI1LOZ73a9l5rNS9\r\ndn3YyiMJBjuxjVC/B7+EHPjbFI7p/6laXo8fH2zVSHNf5648cQATbFvz9TXk\r\nqgY4uepcJ/ILhV78UJ3iNdh5ExpbHGfBV0Tk6ANdYOUlExp2c4L2pz/I2KGH\r\ndHJCzPmRuyME7rYc3T3ZrlxzH5HboHuYSwdqPIUdPnYhcZECXaMsAmUjeS9w\r\nVPQZqFmW63fQIBx7AEfnrsj3HyDdIWgMrOyKMZyLl3PmgSsIohanGX0mk9VX\r\nTK9LCzJspAJeJlGmxPKrxQhzwTJj0sdFDaBo3NxiszQIRxB8uuUerO7uWmb7\r\nEBmviwtjdMsYuIi9N/TMjBMrLsG4+NMB1Wk=\r\n=vxR9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-8bee96f_1656436605210_0.29516496636589706"},"_hasShrinkwrap":false},"0.0.0-fa7a8cf":{"name":"formio-sfds","version":"0.0.0-fa7a8cf","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"12.x || 14.x || 16.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"1dcd4d99fb6bc22236d4dbc117847f52e0800366","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-fa7a8cf","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-6XTLV2C2fORmj/WE/qJ9g4+Gcgt5kje2CtDF8qsWj+McAEOHDkHUGJW8N28QMKFUx0LQcd2hA2Zpf6q43/sGig==","shasum":"ca5c7099d6e876fbe30132bd3be88e9005ff57c3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-fa7a8cf.tgz","fileCount":284,"unpackedSize":1112670,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC1Dn66AqYgxwQ9KDAD4hzrsaU0jGlqZILE+akrIPdaDAiBLXWh/U/aYtuNUIFQnTXxt9S2Bf7CfaK3/UeIEbr8fTg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuzvQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6ag//aI4sv+LqOykgfDlRWCaelp5Bnc/jkcYpTZRrXCjCLYB1+d18\r\nurOMLm4CC5qqfCXa970jJFcP6Hz0cELJWzmgO45liGzcPAZhvpfeNDBHN3JH\r\n/Rxkc7XUONfbzAshwau7jDwWfWZoYOw6ZMoivOKFP/p1cyV0/ENgdRohO/zF\r\niKylvNYDVEOF4DbOle+hASERg7rTvHpIe3hhm9OLT/ITQ3viMR3GMh1B/7/d\r\n5NEXOJUpmVHc2aHlaNbkBbDUUXgbzVil5dXTD1LCLr/H6nvWnljbiqLrj4zi\r\nqKfa5AjyxH95QTTxcq+qcrfFQHgdW9p57Q6PDPTIpGS5I5DX7VW3YvUd9iiZ\r\nzQxM0cGviqOEFUGWQLzZ0azAjS5aoaErjK14VqhTtFGoOXi288FvhVAehZ3i\r\nK/DsIUikZh8OQ3ZTgbovfpLLLvxY3KSAvPoRPlMuu34M6zZ+SzZH0WMCEyrW\r\n7CQM4EbY482jXgz2IHeGobE6+lkVoKDQspMY02ax4OeFU29t3o/9k4OolXA8\r\nTG/l1DbzLvjFQtlC/KA8ylyTINTyuCEfYrHcMPU3GZRhL9TCp2KSTLXC+cF3\r\n4uNhzXhmBzcHIliMXEv1Fwz6C5/Se2P6VNKiP3TxOqXuAVA5wTZ6cveMur75\r\nPUDgBvxAFbg/z+8npm3HTG4UHsj/umV9EPI=\r\n=k/EL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-fa7a8cf_1656437711778_0.3185066984173337"},"_hasShrinkwrap":false},"9.2.7-rc.70615be":{"name":"formio-sfds","version":"9.2.7-rc.70615be","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"12.x || 14.x || 16.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"68857270d2ca72b42621a7d78c809a7611c31875","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.7-rc.70615be","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-8QEkfwTrFjcJZ9cm+uAvb4WJeYF60+2vg09LbKoWgXdNblmiMtq2O0p7ssP2kPDXlYok/qkIvoNh5BMG/m6Vuw==","shasum":"74dc9c7a104eb7c389ffcede653b69f997b4846f","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.7-rc.70615be.tgz","fileCount":286,"unpackedSize":1124511,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICzitge31H6TaB/a8aD2jSIZik7HyKcqLkCuKpY+ScjyAiBljacKdLPTqvqbK93g6Ef34g7XJW2Z4okSIQicp3aCRg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuz2cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrcZA//eCJrhv6MlAz/2Art4Ayh1q0xTROlRiXzrr3dOz59wXHT904r\r\nQSkf9xmRyjgk0sTanDSW/fOeDtkY7Nlr9C3WCzf9kSR7Et4NEneAhzKidou9\r\nRvXg5RarxPWuIf9gZTjoh91Y0cZ4n7OIyL3+ITdd6uNrPdlrEEPk2QYl++tc\r\nJK5DhqBwAc+csnx6hCxundmtSzu1jMVfHNBnePfnNDrFOkvUqtxIsd6/y/vp\r\noupIRV5GAuDx/4Ata5bxpi2R4LOsrPYM+QGpk78XhzvB66seZHnQHa6mqtx5\r\n8aYfcifFLzqNWOOIF2aifS1Cb2vEmZt1q1icEXUmJlCncHXw07AUCUgVXJtX\r\nZ837pVgWy0gqgUcQwq9S7JXL3eAbiDnfHq0s+CfPSBRjgORLrydn8j+KK+wm\r\nf5DtFaY6nwFknr5DyQl7yEucyOQAHYgBe3P8eBN/cQwmD/cQqsgREfak5ZXe\r\nxp+oEFgeNcarQ8/Y85qJ0bGS+JfR6ac3Mw1qgAzHk1Y1wzbt42wU3KTgzk2Y\r\n2kwZpB9hEc6HYKvOxK788ojI2zeT+csIj1scd7sy7J/Aer8oWAuKPtxGw43y\r\nf5mqDeeYRcjkLwOpDzrybiMH+R3pedAeFZomhLGHbD1yu6Qe/fMUnzDQWOEL\r\nkibaPakVo4PT2x21yMtncCS8vrMeQX5dtoY=\r\n=Ja5h\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.7-rc.70615be_1656438172288_0.9112706008066767"},"_hasShrinkwrap":false},"9.2.7":{"name":"formio-sfds","version":"9.2.7","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"12.x || 14.x || 16.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"4179d47fbf62d1c3bbfca8efcb71d9b66c775d95","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@9.2.7","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-WhR8WSUeY1Al7JeZtdG5UKjVL4K+dKyp4j0gFiAoyGtAG2hbVpOlIv53/SGS78/WodZkYW5ODfyvQ+lOAJBjTw==","shasum":"1404751a33463dde4e5ac304c6d28da11a52b8b2","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-9.2.7.tgz","fileCount":286,"unpackedSize":1124500,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGvEGw0p1d6KnUhr+HzqYftD1hf+ckxNPhPnrtwCnMqVAiASGkuRudCN2346dZCyq0nFhOXNsviY62SFjrWTXVLh2A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuz6oACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrhKQ//VPTDYHFW43Em/JhBNq87PgHXiZkLovyK33H4hSW0h0nX7Dew\r\nWEZOBz3wM9TeD+J39hOzATOzcP8SuCVLhyUiFEC8MgSiwOWS4TlDqxySa66h\r\ng3mtM/3Uzv0eYnffXdC4LG6hAlwGAr1+Tyen1X0b07JdVfGAJqGNJ1s/Ikvk\r\npvZhF1MhfApfL0iFhroIs4ajfRSM/LMjHo3jDHjBGdOr2mG8Cy78kZAFrOdT\r\nfDfSWYtsgWK5OZrOuOEkzQDtx52xXLDnyKQnPj/Wp8eMEI7VP6aQ5wUQuM/D\r\n3B9YLGw4melCq00QpWlFmLDPNcQ6uZaxjfLDKlY0jltDFs4mVlI23yeddNYj\r\nsF2dGbfRjQLpovx0KM1slTj63sueGEuBE+diRoY/Z7np3cN+lgI0/BAFQFT6\r\nWyMqzHO5yiP+59jbnJ3Lnh7gUU0K+8yrDe3+N7vlxUL7Qrc3Lq4jlPzXumEb\r\npzhHBCYGUQ7f19P+OhKlZcOkRZdC6ZzS1Q3NE7uX3mF1doInzoLUVS8zJiLr\r\nWXlYJcgOq+YiptaGD7eyR+vUDGIy15uXkINa7a5Gj4slNDrmnUEcsSivyjL9\r\nftl2SslJ8VTPkc9KvJNnlPB8tIjwBQdaxiWkBnU/DdMkVtcVuSS8oiEM5MS0\r\n72/YDqGCf60XHypuFTSyzR3fmJyHzV7MQD8=\r\n=SVQv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_9.2.7_1656438440034_0.000988020904037823"},"_hasShrinkwrap":false},"0.0.0-4df1436":{"name":"formio-sfds","version":"0.0.0-4df1436","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"12.x || 14.x || 16.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.9","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"d0dadca55b59e7edc6f126799984ad9ec64a0ce5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4df1436","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-/MMfiORrko39La7JdGFH322MlB8NVQ4SxR4lfQfLM9YndmOfmXynLHWkT9EY7UXXL0lXoHL+mzPga7+wJ9II7Q==","shasum":"87b90b3833df503242c5abaab56df59a0248ce20","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4df1436.tgz","fileCount":286,"unpackedSize":1104219,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC+mzNN7O2I0/TdP2miAErSVBE1qGDn1ys7RERkNX0o1AiA5Cs3mAnMzlHIUiCvzoWC3ey3etHA2t1+nQP9FKnVKBQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivI8XACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoC+xAAnEB4/8AsI63AJWK14KtEwTD3/59PQGjWqSgdFxIWLUs18kiQ\r\nSgHqNyv084ugx0s0sVJ7xP/rfiEkBXidvrFRnJ4iWrEMzK0MHwCDGC8E+Bg5\r\nBlttNTgvNlqbmKrVtOYR7NNokJdnAJFyy2qNO3hh4jL5Ox3JBu9bEs8S2tAb\r\nO41GZKZ4Y7YsaAWfGUo4sfDpHAq+PnTdQzubVtrFwpAY0dmEoHvO5qtlyaw4\r\nMzhHix1Z9Cxr5F+Ru/O7Msc2dor1ZtRM9+lXxnCS/K5vS5wsxir4IsKlHJES\r\n67MKQ7BC8N3QlBecVsIXCDfnwTk7aTbq2r7V6hsqqoBYeVQ6pVVawUBiNmnd\r\nfBZLbSSI8kaAEtQVsX+iD5AE0udBU6uCzjthvB7agfpi9e98VJailOrf7tCZ\r\nr3xhVeM3dzBeAzGKszf4IdMfjxNeGsvRi0smeNA/dtI5JdgEHTUwJ6asrd9q\r\nVAJVG4Ms8/ZQzi6j1H7nzR9LTjG6oxqXyxgRo+5RNjLpPljwgHOKA/yvbkrx\r\nY4mCIJv0QlUpEoXCQvaq1Kxne6zdtrCcJZfXrsqBwjgHM2Fq4GoddOfRNxvt\r\npywmWWvjBByTQUFJkW4BsuzvKObCejcp8r/uJ8P0Aqm0xQPT1RfwknuhsGYR\r\nTzX+IkjkcxVkdeE8Lk+x9SXjU9dzP9fD+0Q=\r\n=P4NA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4df1436_1656524567525_0.30831341807556467"},"_hasShrinkwrap":false},"0.0.0-d71635c":{"name":"formio-sfds","version":"0.0.0-d71635c","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"14.x || 16.x","npm":">=8.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views build-storybook","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-storybook":"build-storybook -o public/storybook","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js' .storybook","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","storybook":"start-storybook -p 6006","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-syntax-jsx":"^7.17.12","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/preset-react":"^7.17.12","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@storybook/addon-a11y":"^6.5.8","@storybook/addon-actions":"^6.5.7","@storybook/addon-essentials":"^6.5.7","@storybook/addon-links":"^6.5.7","@storybook/builder-webpack4":"^6.5.7","@storybook/manager-webpack4":"^6.5.7","@storybook/react":"^6.5.7","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-loader":"^8.2.5","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-react":"^7.30.0","eslint-plugin-sfgov":"^1.0.0","eslint-plugin-storybook":"^0.5.12","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","lit-html":"^2.2.5","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","react":"^18.1.0","react-dom":"^18.1.0","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","storybook-addon-designs":"^6.2.1","stylelint-config-recommended":"^7.0.0","stylelint-config-recommended-scss":"^6.0.0","stylelint-config-standard":"^25.0.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7","webpack-bundle-analyzer":"^4.5.0"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"db948bdb3ebfbdb331fa6d03df395185aa4fabd1","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-d71635c","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-lP0/1toB38P5/5P2xoeHrwZZObdqkAA3fqbA/AHOlDm4rIIDcmTEmoM9tg/KiQBfyHXQfQJpNJanhZZf7KvKsA==","shasum":"d0e2be926fdf1ebd14993ead3f081a12175aff0e","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-d71635c.tgz","fileCount":346,"unpackedSize":7136116,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLkAaIgy/Ui1kHRddKuRJrWN5OxB8ri6WPRJrr3RajvwIhAMTGQ5imnonPvAgwprW0IDDIKULrK02Cx/v1WUEEWZtA"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixcypACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmof+g//eUM8EKMIx5K2mcv3acDBD153phQwSY1DGk8WF4PSLJqYtulS\r\nL+STIsi7dADalOiBeHiZ4BzsyH6dRQk5ntU1MObwLa7FoCuf7FU0BmUHOOxJ\r\n4yC8wSf5sC7yU9zmkKnioRGE0wI/g5ztjxI8g2p/Ru/7JrzBu00/zMPtLWFA\r\nQ+/TAk892A/2mmorNTsrFA27Snf+9aTUSPQ63RQVnGusHK9ojHWoJl/aYiLV\r\n05cs21l72GzjyS3IGuKBekJ7hQ7g0yOYopb63cw0a5fh/zW0TS3Gx/i6VQUp\r\nNCLEeKNEyfKaLIg3iUJwRzA31kGUPO9QxJJRIbydHtxpTOsyufcE6iohtHuY\r\nHHII00kMTfcLxx64WPlirGPFD29ldsaMsDHbTJtizgyQK/fuhKGLYv4oClrD\r\nQjS+geKclnHb5B7XJ0SueahxjnwhLDDTwvuII9kqeKvbuxl4dr6d4pqABFln\r\n97uq782be1eIfaE9nzIX30e67kGqkYzXT87LaNQxotcNvVJXJIRlr1h51SRX\r\nA/+elgbr4rTU/PzUA67MD/qJXTwkG0DoegoOQlsOZbkAM6LOGfxjV15FfLvi\r\nUwdCgNpKwhWs4my0eklOq275y8BK28DL4peiI5GuqcaxUwBcstjQ5wKCcfLA\r\nI0kZheC3Z3D9RyKkRes/hfOYTnYaVW71iLQ=\r\n=qMdR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-d71635c_1657130152975_0.10804729039204464"},"_hasShrinkwrap":false},"0.0.0-a98a6a1":{"name":"formio-sfds","version":"0.0.0-a98a6a1","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"14.x || 16.x","npm":">=8.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views build-storybook","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-storybook":"build-storybook -o public/storybook","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js' .storybook","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","storybook":"start-storybook -p 6006","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-syntax-jsx":"^7.17.12","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/preset-react":"^7.17.12","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@storybook/addon-a11y":"^6.5.8","@storybook/addon-actions":"^6.5.7","@storybook/addon-essentials":"^6.5.7","@storybook/addon-links":"^6.5.7","@storybook/builder-webpack4":"^6.5.7","@storybook/manager-webpack4":"^6.5.7","@storybook/react":"^6.5.7","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-loader":"^8.2.5","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-react":"^7.30.0","eslint-plugin-sfgov":"^1.0.0","eslint-plugin-storybook":"^0.5.12","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","lit-html":"^2.2.5","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","react":"^18.1.0","react-dom":"^18.1.0","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","storybook-addon-designs":"^6.2.1","stylelint-config-recommended":"^7.0.0","stylelint-config-recommended-scss":"^6.0.0","stylelint-config-standard":"^25.0.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7","webpack-bundle-analyzer":"^4.5.0"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"4d36518f4ef33117c2de8fc5230c88871d5205ab","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a98a6a1","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-tJnLwvyfBs98FHE8ufjjwCK2tmvyFa71CkWQ3I1ZuXbHFQRAY2uMbDRywZQ+vHn+Jdm3SOh8bTn05p2Yyv3QaA==","shasum":"3b553ecafa54e587616a217d38dc2019e1bfb0c4","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a98a6a1.tgz","fileCount":346,"unpackedSize":7136116,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3ikN+ZY0xt+a+lzCN2cd14QMI0ZZ9gU9pdlmQpcBUkgIgLoExUC9z6dC57eHWsIO6JRYcN+kr4RdZAEqT/2pcDZQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixw8pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoVCBAAgI11SDtW5TQMTvdAI9lcaQcObZMynm6QZDeq86o37YGcBMqt\r\nNUSeTVzdv8kTcvkaKCJfnqPm+nUH11FroJbLEKPhwCli+aIqGVtlutij5Rta\r\nxcPnyZebTId7u9ZVGDNDTnVfdhxNUd/LV2mngYPYKinxLhxIScIBhhw3rBw0\r\nsI3EAdPZtRj4CZAxVOv/w2A8fzuBL0xsutqD6E141VCQjAoSLhyR+QBZyPf4\r\npgJyh2R2FV2VTLEdUKJmD4KzBHpRPf7vXKaqHQMe8ufUCtiKXkthvhJK23iS\r\n/rJI5L7hcUomuyx+IUPc/Fy75pKXelfQGS3UApkIWWA7h6Nhn+GDuPmPzbUW\r\nFuyi+JmVkeO/ZFuWCn44NU461+gzoINOHbkd+b0K62nImMx1aeMLRHZ5riQd\r\nkQkJJNGaGjaKg/9yIm1tTQXG3+84lzIrnvW3GlOdIeW6asmmgQFDcabqqM3J\r\nddAFEElFJ1wkY2PAT2SKlSafOiyDt3QaBqQnrqayZSOAGU3VF82t0boPp3/h\r\nkEZgUaSFd8Me2kyG/dIf7YINwdEaIc6j5vCSO/sBVBjJ31F1ZYc8RmoaGxl/\r\nd6p5laUe68VZ5cz0NwyVG4R96Przv+mdBsO5kGifgrfZOEPWHJn5Mjfxv076\r\n/tcZtjxvCwJnWmBgSA1Z/3FY02OXufZgNfQ=\r\n=4sUX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a98a6a1_1657212712702_0.496187477588657"},"_hasShrinkwrap":false},"0.0.0-1c49ee8":{"name":"formio-sfds","version":"0.0.0-1c49ee8","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engineStrict":true,"engines":{"node":"12.x || 14.x || 16.x","npm":">= 8"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","htm":"^3.1.1","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-styles":"^4.0.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","vhtml":"^2.2.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"b3e3a25c74259fe26d81af0e5e54103569eb4004","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-1c49ee8","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-y6T3b+0CSDp3O9zM2CYrWotTeQ0YS687hUisMDocSsDrFP4CECVwZh0i/q92ZNklGDIQuHCfOpgq7wVrJWhgOw==","shasum":"7f81db37d85f8a36acbe83ab093c19136c7ba55d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-1c49ee8.tgz","fileCount":289,"unpackedSize":1163295,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGKVpVvQurFKjl/XtNqLcp4q+4Uyfx2ZPtVVw1j/Aq6oAiAvsuAgbOu7kw/XqL24dNB0xJRRNEaO/nOiqVBSDaCOwA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6/jFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmodwA/+PeySuVL+f6rg5Y3OfrBA4VaU/j/sn8qIo9AtSqWTjjXFnayo\r\nH9X3Gz0brr121ZTzNqLXf90zjcoMOp7KWf7qb12SaE9tI4z994GfmTFvJRcl\r\n7auMmqAB6+kwNUcEaivmLRRCZPN6KyxXqZwq80mZ07vkq2/j/HU53ncGLuAH\r\nBPnstq5wUkK8XvgK2dtXXl9joei0NDdAV45iw30mQi3WWwWOmycdkMTgSdg/\r\nJD4YhwEHFZir0I6e9/M1D0BjYtverxPbRAlVT+2fwoOZjZUpl4r5q5n58IF5\r\nmj+wpB8vKD/42qfC+jva8jgdnjgYI5tX4cqEGyo+iIeqg6Ivkxa9vp1HO0cc\r\nGnYXSC2i71Gw/4C7OR4X2DQd/KzQiGFBpHaMm+Pl/QaisKKNSviy3tzxVxxR\r\nIOmRvXPqm/YSWB6DWNky1Xvhry+xPqJ9yuIaVtHn+iAIUy6kKSWIs8stDmvW\r\nEm6qurCRHnCZ/McAtLfchlKWtSZHBJanpE9qhkEuSNnmoEcZUvUqd1yHWjj7\r\nwLz7f5S8YqD9iG8J60HaO8Vnh6yCb7OLCuvLekNULNKRg4LSqG9wwVirbRWV\r\nsxxrrehR8WtSgXHQSotRd682nEIACM9o92TytIdtJzns10itwUEO9hTYZO05\r\nLDpbYTMGKbMpBKwEXN7RUAxbbGr7no9r2JE=\r\n=FYO7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-1c49ee8_1659631812949_0.14181426291347154"},"_hasShrinkwrap":false},"0.0.0-a0a5a10":{"name":"formio-sfds","version":"0.0.0-a0a5a10","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"12.x || 14.x || 16.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"2bc279ebe689054d628ff48e0bb44604a38d618d","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a0a5a10","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-kpxKiW41CV5k9uURNWy4TyAw5YYJHTfjCma/SMvQabez1fyAwya7R3Ap1IeNqlrTRCygVI5/6he4sMp99u4WdA==","shasum":"65f76d25ce5273098039e24ddda989d7abc066d3","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a0a5a10.tgz","fileCount":286,"unpackedSize":1124648,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHagaItBFxQvQihS4BCVnOJq+O7cnIU2A43caoE7CZHCAiEAiHYaz4YR5qQybnngJd7i7OySwCBCXv24UeEwH4RfhEc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbKerACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoBGhAAlC7o+N2FOYOJydfsyibW4AcK0wcU/p18UsfX2A2+jw/dV1ZK\r\n4xEsX+REfalFNta5KZc8FImAt1nSe9bwiaRpoJPloi6AtgAEopuPhy6q79f5\r\nHxMo3prmsLiKDR3BtRnjIlg7v9dSUcPmno3u7H7UkXpw8H9PHiMx5k3B3p6i\r\nFcFjGWmzDMTM6p/vbSMwIlnh3Tw/MGkPoDppWcI8lfW7GI4KcqANtHujMOuv\r\nwXi5ahcNP8Bmqu5XmACiOM9znT/Gp5f4lEYNKQx0d3lvY8gVlswO6uvG0uhH\r\n81nkp5ORjV2C5QnllAZf4hTkqnjjKDzyosALBeFOBcPWYeXrySWoNnQSCdb4\r\nTW9hSJky2oAQKIq+1vEMhOXCK4BK2UuoGdF459lbf36zPXChH4+0hXpDcQ4u\r\ngbpKjhtO7GJYZc6tlxsja+0IHGbuf5skwAwsOZUdiLBtyySy/UqN4uvjVLRP\r\nqjIerg0qQlD9RrImHZYDZvRoPyHIjMdPJZICUhMdhEogPTBCGVNNsHgeAfC8\r\nPua3Bkntvhil9xhNFAR5JYQz29jTTZlY1TS1Zq6cvfR2oTzoMQ0YWQBaj3TV\r\nFIAUNPaspdabzaqp+ZQyrx2BdDtmvD4IePWUKN+u2XXtNX+3oAygrUApT3JH\r\nA7u3JeLpG9JgW3OGnFzRkv8zz+ZmvW2XjUA=\r\n=Cvu+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a0a5a10_1668065195202_0.14041208146695783"},"_hasShrinkwrap":false},"0.0.0-96fb2ec":{"name":"formio-sfds","version":"0.0.0-96fb2ec","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"12.x || 14.x || 16.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"8d13aab1795607017c3fa8d1ab98808c7025fb61","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-96fb2ec","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-F8o/pd7NRirOIg0qdMITi6PNVwP0lJo4G5F+n6fGuyLzpvbBT0FSQ3nKvmRBMCwJPhXUmIHzZNKADKqwULl9ew==","shasum":"1c68b3c79c7c2a1a5127e3e84ca21910816a6f8d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-96fb2ec.tgz","fileCount":286,"unpackedSize":1124655,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRueGKQUBQ7ulshVVw8Ru9uOJk5IWKuBewctqDaH6wAgIgXZqCHI6i7hGWVLiXtJj+srqCyT6SmkIJ+IZdW9aQVCQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiQeZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+9BAAhsDknKs8m1hc0AU6PLKXCFBEuM7KpAeCEQxiBu5VSV4cn7/0\r\ntPt3q9BVUPLGXE7nYd/wZcUY+2Z/kehnRsQt3RPF4gAr4ohoZl2nBRlOo5vk\r\nXEw+KHhe6uQOY2lpDX7s2r8EJCic5t1FEn7Z7rUoSjQ7JIRmWLDeD0bCq+ok\r\ngr5B2r9zox398fiSZa67urbxYBK4/QhoF57SgpGYrkeaGClPrqgzAB50X6nO\r\naxn5IYas3LUlOBcfn48nDzOvI+Iw2xavVizkHvpYR8WeAbkBfg1wMOnqVFNF\r\no2Ju3Mu8LAxg4zgKOf/E530VFU/kvsmwXck+9JGXlMEwupKB/4299PLRlc5T\r\nXGDPDMU1K9WdOTQn1oT9S8UGXVFNlcR0+MnaePX9R9vZfmwm/N5NhiX3899F\r\nVaN/+8ytKjRKGe8FGr7L1GikSWnpQG9WyFyrXDAnnGOSdXU3pzUheyrbHZ7w\r\n5RCHlpjeE9MwprbNWe//ORZyIBCLSmR9MEIvzXDYTpZDQJMbJHeBoPmL9B0/\r\n0NMuL8K5awFiBKUBHIVlfc5788F8XlZ3diQ7QqX9mKYCqSqUt6H1dBvbfupB\r\n5mYY73ADh3opaMzApmhb3yovY+F3fVcOoTxS32Eq60WLcs3Bw64Iqw0Y9//3\r\nwGmDyDgfBZoHzxtDTNYPg3b5HYv1zvDjPc0=\r\n=VF9o\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-96fb2ec_1669924761009_0.5720182246434375"},"_hasShrinkwrap":false},"0.0.0-e193c26":{"name":"formio-sfds","version":"0.0.0-e193c26","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":"12.x || 14.x || 16.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.4.2","jest-serializer-html":"^7.0.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"0f1642cde8c03b5d5d3fa80f8094b6a5702f9cb5","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-e193c26","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-xyzbbcNGT+n6BbOGUO6eqoSCJwMrvP9aHrDAclJDS1udgWL77FyolEUo0SOgwl37sKish0Wz5WJBN67N5tS6Vw==","shasum":"a77f75f6d2e8b08401f64645201f88e162e335e1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-e193c26.tgz","fileCount":286,"unpackedSize":1233209,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAJaSPoMZXj+u67JJGIVZhDwHsERQsRxLFdIr/3G2Rb0AiBHoJAHhga0pcAgpT5sduyi2e6Xs8pw2kl9qd1BwJhn+w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtHajACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpgNg/9FkEYsrdcC32xhqPs9+oSHpC04IVqFoCO60lZHF3mI0fgdZlf\r\nAZ3OWpTtWdb4fRT5SZqqmslMdKsr9EJAoyDpesgkaKN6cd7g2Nq+PNN7t+nM\r\nGRlW3NkRjRc56W0wSW0ZBnJdduf5+itZ7lhWNi0mSQ+Dz85rpm50yCftYEKq\r\nm/8hhFaaXoZ6dRvAwvcvkjRy1oUr5d8QOxYNZJUs1RrHMtFwlP3rJOEqhqN7\r\n7pzggijYjmjvnepL1Y01VOxx6+6Po+aDDHGAnkLhR0ShyBaLCnsBQ4Lj7fQj\r\ndEhUm1OZJGQh5ioPcWnV4dAh3ohw+VOfCSlJUPJ6bKaDfryfHIAzC3hoeMXK\r\nfStF9asS98ncU/nkTS2884FbfT0MNxTQkqV0nOZuvHU2J+d5ccAwFvzKjc7C\r\ng8yr0juqY9Q+3nbap3guTPd/m1i60MqYNpmSrAdEF3Kk6TIgVMjiamLEHCFK\r\nrMoX8b10jJWoTL4MsELwcYl4PvpUA1WDmoNojiCyv7sxpZz6dxpUtTvBPQWw\r\ngn+N8mt6elVUE3WnyuE32RPD5eZ6YjOckJKZkEAMkozxdgzb6oguaz3h+rVS\r\nS3Yf9cbY1w4p13XEwHBXhgZt9GNt2OSlmwhEwOQVX7eNtTgixI8EHrPLDiIh\r\nmol9Z5oRQTHZXddSYGh9/Vykywuj6Xy/Ajk=\r\n=nYcA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-e193c26_1672771234933_0.02419599327536992"},"_hasShrinkwrap":false},"0.0.0-815935a":{"name":"formio-sfds","version":"0.0.0-815935a","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"0ceb33d6800f6b19a9bb6ba753b34fff6105ab49","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-815935a","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-9M5rRV2G2lOstn3ipEQagaD+4Sb4mM00Xlyfct911F5alik/0NkMfgZngu2VGODU69Kp0FOAxo1rZixYr+uKrg==","shasum":"234a943d305b14a530b200a3728192dad0b07d61","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-815935a.tgz","fileCount":286,"unpackedSize":1156054,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGnCbzf/ipaOFnw8kGtr4sd2fdSpQW2LI59qkNl/e1swAiAwaAblxFvhGnUEf2o99kC6xNhxuG/VTg5PvF3fanswvA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtM7qACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpdiA//TDlnuVOW3TLhuDtNsmT4fwi0yjIoaxcV1WksLk0aluYIwedm\r\nrF0YdWUhlFO4uyU083iJWD9d7TtS1gpGFMY0dN+Moa+oqRMbQsqL2JvRf2aX\r\nxr4gD7VoZYQ6c49uonrFl1yWw/pCFrD8U8EEg6wd5gVB29i/RC5AzqHvwb9v\r\nV8oUhmNFF+xSUbUOFbO0UOO7zGb3D6xxnfo1ic9cWBme66rZALoZpv6te1xY\r\nnfFvwTIbeizm81zriMC9EWqhESuSJR22gU/OxrSuskv30AMfzHcYgu2cP+VE\r\n/TAQfCwFfvDCoeaTyQ3rM6tvxOXfFGf9FcFoseANanoQ6IpAGbkxl9K6D3qA\r\npO7jLLADZ9kCRd9w5YVnTvO0YTHvvsBmuwiFcNlRTAhBAExb6grAe4vAiTAA\r\nXUYiwu1AYXW4fMpuHXYXcpIgW1ohGS/Q13VnhvWPQB0wIlXDCm9kV5zQK+IZ\r\n9+X6SA+LscmGfFFltdMriln/2uy/V9vPYLS7s1F/ppabgYM+0bL2wmZcxWtG\r\nSy0Y1drzfiCtH+zMat9/5PcJuWZgVaEgh0irOpnIkuoPBAU9aM31+kg9KKlv\r\nntNsU2DUbsWtu+Ek4wJXJvplpWOi5KCu5M7CBaOEWGeL7UABmz13g9y4/y/g\r\nO5x9CRGyd+aBrXpLQ636YtDVUABkkzKt1cQ=\r\n=wdbT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-815935a_1672793833983_0.40497176727504725"},"_hasShrinkwrap":false},"10.0.0-rc.5727a94":{"name":"formio-sfds","version":"10.0.0-rc.5727a94","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"5c012679b34ade0df5da4ed217aca63a56d97b51","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.0-rc.5727a94","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-7kfg1mrKQoVtltJ1fLqaGWeSPnOlRsnFt8HJPShTZc+WtUq32VG5hLOT2KnTlIkCTnwEzGAcZR5NPwhPfGDEdw==","shasum":"9e8818ecc5cd92b2069d9ce05d3be8b7a2a192cc","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.0-rc.5727a94.tgz","fileCount":286,"unpackedSize":1156099,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCifN5pFrYckCB//36Ajt3bgjcZjV2mNP3g9nBVhsm3JAIgWUsrsEGz8H3AiWrmuAUtdgKcxRmljqbILww2f/M09cg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtbzNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLmw//R2yywSfKnuSMAbOEk1yX54VUSP51zE2mMepkZEY3zWJ7TjuT\r\nBw8lbzD1vs25lAPkDqd+4Fyxvy+Jwzx3MM+7r6jH/jwDS7aLgg01JZsrGq2w\r\nl4X5naiuXqlMlZGFmQt4HZbt9eUnGohlcnXWzY4oyZq2NhdUk0L4wG0agyMi\r\nMjkm2qoyfE2Lv2GavAgVPV2BLH5hGiiQgKIEvogIv4c0QqbNrASIe3Yig+5o\r\nmB/CzeCmrARdNj4icy3e7C04d/u1OOvNe3Igvc3QIgD05FOG/BFusm7C2Y6E\r\n9AiXi1N9qMtO2+vl6RMO9k0VPH3wq2Yu4YXPugbXBHMXF2jzQ5nIyY0x7q9N\r\nDhTpSUnJ2/CES2fbYJ2ciu0179cR2HtnGnsl4q5gLvmRZLvl+BF9jlW5nQi0\r\nWMIKAOgJUUrQW4u3yrP+BOkFygx3OmaZIEe8xLB4178HdTqpYzTkwM584fuT\r\nNIjno/jtAE+mamW04pAtLf9fy25vs+8pWT14kq+OwZiPaBBt7e6Lmf8KDADn\r\nzml/42o/GF+ezDddcPyQnlZyHGKIliNmjLs5HPpG8cPg9JAVgen+6Qeqj2zZ\r\nqq/qQo5Uiu9G7b+RIR4K6nksNatn1uJL9yt1CPwzCbIqRopPGPUvs7y/Hgxb\r\n/hXsTNiIkChBXkJDvdIs1ieooKlwQr5iw3A=\r\n=Y6Uk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.0-rc.5727a94_1672854732832_0.1455625355521113"},"_hasShrinkwrap":false},"10.0.0":{"name":"formio-sfds","version":"10.0.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.13.2","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"6d1952828b1983ce75933b5ccba89b29af9aced0","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.0","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-ko7lEtVVsLxAM7rOiX1pcWJjHO0e6lZugFuwwpsfP/0M2ixUwWHhiJIbWbEAG6TbeNi/jQmNDWuCMZtv1aNQ8Q==","shasum":"20ca4ff7f8eafdc544900cf3f7e3c6b5273960fa","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.0.tgz","fileCount":286,"unpackedSize":1156088,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFWHeZ6u+LaASuXathwfQ1LDeJnafsHSaKxCyJwxjcMlAiADGKwyUWoNAeRFSbd3MemW8Rs4NqTnYfs23Mz1Er0uIw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtb58ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXVBAAk2VCEXrSWE1jm1Iy78s79zs8clvqGp6XX8KN6rq+upzj3/pt\r\nKPzat4cOzc6I+ML5TN6F4WZQfiraviT93eb/GjgQR00vP7GgTXSI4UtB2YM9\r\n1skjstvIE0PR62hATU779QTDLmGAqXFV5hx9PgdI2uvKf0yvLOVUjPnh6HbC\r\nxY/S+NOVUUaWo30oYOlxJUA6Y2zprDv03P11+3BCtSQ6nkw/Hpcn6vCU1sT8\r\nklV2wmgpPNFaaFz0Sw9rtk54u4k9rFg4Y0WdDP6/jAqfEjhS8L7kDpmSLsQJ\r\nE4uWEkt21KRaaOb+Pc708qFB+SSc//4oRN7YUoAN6AdIiBJxvswzzy9xrW8H\r\nGCXWNzUjW4UNJ6lk6yyes6+rxhjeKlhx3zFnlzzFr9Y9vMkDay+zC29tCx8l\r\n5EsQx5C5bAsWR7xYaLPWga3Ux4iY98QoOMpJR9PfE2cO+73dksFN3iGrffUA\r\nwntuCiwNzyMgjwufZ5IsnCLhrGSlcJFj798rDqEx8izfAxddJbPJ/yIn4S6k\r\n5/Zp5T1xXsqSx5hkJWEd0SVUZtd7REKNFP9Zurn62pV7TOXovrUFy5CFM66a\r\nEPMrs1zfQ/CPvYcVaMc7hx4lSHKral6F8RhfHqGtUQG2T+fCoDZf/YpmtwOa\r\nMb1OCfJGt1zX+vRSoq6lEOh4/1BdU2vjcPc=\r\n=bZ0x\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.0_1672855164698_0.6747222336952605"},"_hasShrinkwrap":false},"0.0.0-a7431ca":{"name":"formio-sfds","version":"0.0.0-a7431ca","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"9736c4b5f70ea6b67e3bc0ae6d6cd174586bbc9a","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-a7431ca","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-F9LOeeHnDOohHtAa0vZ3PcxNEKgLxk4O61NBgQsshD8gBG05PjT3YKCHKv2y5XpW3wyWHSWtPwyDI12as/zP2Q==","shasum":"7ba4335ad2ceffa8d0d7b57bc390d6df724292cb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-a7431ca.tgz","fileCount":286,"unpackedSize":1144135,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQkWf8Lqrg7F2h+mUyE0e0Eof0dfKLLuZXkXBbGywlWAIgOnRjZ/+AWLLCjTSx0yUbiYr7puVLehGuYHASFtpAeiw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxxudACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpdsQ/+I7JtODfN1/Fs4SYku5/mGIxnwcCOD7QfEh71Y74VgYvTHMuo\r\nlvniSCJ77BDoEDnkBnU9o4SpO6+tABxuOgpK1RrM5WvbJR7MkxLW2j024LZv\r\niqpuyoVxPdPVUJE40LSWJxKsXkDqVIRXQMhdo1wNHqmv9Mp+ajhIHDj6rmCS\r\nCcHohq4J/+nfH7l+yE2j3T4vRSmsubAJ9ERx7gje3sRxP0Mjp9yU3ngkWjMT\r\nWDwoH7/37MXb9mflYkib3PCH+57mWKNPwS3GY19uDE4g+77D2c3t8bC/qyFv\r\nIg8CJUptmUTtDZvdk7Me+TOUhWa1D5ufZW/pq4uY0nWQ5/JMCvynIlnNsigT\r\n7ayufKz3B5Y6wGlstiNk4dfeHrZ6l3mrTlmW7jnoIKiM7ScPe4+JGjEFaWHU\r\nEg36gKex/kK/8+nsZJZlLF18uEoEISUqiIrkQvvgXSEVErnZFUErOlPkISU0\r\nCUkotYVQOFJwmIzxDCtyR9CiURs2auecJCARViQvFaDZK1+pYxKMX4VJCUZq\r\nwvc8a4lYpd4UndKshjx7bXNveYkiKpH36Ssu+egl0VHnXIRUMYdciUI/T0y+\r\nBBYqZhtxdXYNY28+/cTDoBnR/C0j+1yfmtPu6H68mMplTlg/W42IJJd2alEx\r\nNcOWzCKEbs/lHiZlLjzxYnFVqHukTaTrOVI=\r\n=KyVv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-a7431ca_1673993117054_0.7948428429095045"},"_hasShrinkwrap":false},"0.0.0-4066367":{"name":"formio-sfds","version":"0.0.0-4066367","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"6d5b59023e3a0b176f5cc24736589390cc148d34","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-4066367","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-Q24aRg4qCeOI5wOUYZpskW6Q1RGanMCLUqM7s8b9WfMxisWRCMUOBkrV/uPI2Ky4gBaax7BcmEJ87TS5lisF8g==","shasum":"9e8ba604e7c34d91e3bc21e652143f8a69102103","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-4066367.tgz","fileCount":286,"unpackedSize":1145278,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDq+iRPhVh6Sz+0MEHx/OUpj5FUr0O9E+BqJXcOPInkqwIhAJFsIrur+MO0rUsXkBCoYeZl6j0PV7uSui/AeJx1ssmo"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxyEXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrRnA/+OXWcJGPM5k5u9Q/cVe9jhYKwSaY7ygfItfSph1aU9GgC+uHu\r\n12ra4iWojRPWw5ZiSsUK4jDbGLEaSJUWogh6dD9RjAmpJFb1RiYrO8XeL2E+\r\nKXlMaU2TDjl6yzy28borJkdftHetl8NLm+s+Cu2G9jh+YtskfkZDrjkPmzfA\r\nA7HJ7qH6isxdkGhQ0EmEVCFi8YpZnmHF5YaDPIIo2T+9NcEbKhgpILc4WCfi\r\nTzHqJDDotr6rK3pGEAhx4LXDI0pD8CKFoUxrdbCYep6DPOrtcTGR7u147uk5\r\nTPmKIgQUBD2VgMbqBw2oKcxDPpk2zvGxjnKzadEi7Wd8zI9xlr8qWH19/3zk\r\nGXv3prcIkna+CtEGWGgG1BeNCTnOUOFu5Aj3DPomqIyQK3aVldTD1JCKZeY2\r\nvkxua0ddt5rIMhtg+5aznsBhYfGru+Ef/tMd4fHrt0+ArjcFqbRlDgAWTEAP\r\ntVc8bk6ub+U/0ZLjubv2beZjvEab8JX7opiDMwYAeqs8PbuGRBnoLXztGLj3\r\nqvKGkAn+MfW3J3gplD41d2B7y9g7BHRf92fSoMMtcADherwo7kQ1H+xTTaBv\r\n6s8x/xRoH3r/ApIwH78F9mFhZEk/cR1FSiKFgrN/H74ObP+1OmMv7qoxeQbm\r\nwW/wiuOilquuymsXjwvBzA5fZ/RP49/PZ0g=\r\n=Tow9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-4066367_1673994519703_0.4639493980890539"},"_hasShrinkwrap":false},"0.0.0-77f3ac3":{"name":"formio-sfds","version":"0.0.0-77f3ac3","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"a98f3d1b10ea2a8b956f045519190403cf0470bf","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-77f3ac3","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-/FpWG2wwbz6tOh8USWGNgmw+EZSjoNp6mvKdc/7tubzHRMaBVfe9WyxCQAV/OD4UI+PWGryB6rGfBWImAbtl1Q==","shasum":"11282f02fb9906c35e2ace2fd68863ebf83726a7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-77f3ac3.tgz","fileCount":275,"unpackedSize":1128289,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2XAhPJ9jTY6e6bwJvU0YaA1eOHNY3HRVLX0bfbd6OUQIhAO5wlMlJl+QE1A6d6gcHyf8m08n7zoOqx61tMcEIo0FP"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFLX0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrjzA//TNjsWzs9SXM9QrIkda7ElzK7AY0jD1RU/yH38puQguokt8EI\r\nQ+YDd+0RpfUpq0j2iufPE+ITcvP1seUonSH6qpo2X/f4oi+29r6Px7goxgES\r\nNz/DvUOLJtEMVMLmIY9yicak6HezIX0vo6OElhWMM/KqYrE35h8B44x0S8oD\r\nmNBD1sZOOAOAUeGuAe0IwyMskmTwMBBwzc72DpYdCLksBIwCM6H5UmCO0egX\r\nukAX57babcGzbzwyfoFTVWYl4KaZdHZW4ez6azWDFiZJN9u2+pRwgg7gqJgE\r\n6UvM5AG9F/BGSvK1d/5aRJxCSYTexYztP8yNy4orPOLdZv7M14pAMIYzUaCT\r\n/c7lAy63RIrKKWyMaOQLxWEm6fIbQzkm8VRXpWrRdShLHJWzT+SvAMNSW6rc\r\nSFFJoDuKub55UaVLgUj0ozSDGjqXqQTlx0SJdPP6SxIAEX9dpOsyQAd/ftP0\r\nMeWX8DiIoL7f4lYYRc55culyfeWyodMAtp8oZsO0o7VfuURE6X/9FWXysb/h\r\n3vgz7tKQr4wR8TCEzX4yAwRdGeOoc2S66zm4qC2Lkklr56CtUwVL2ToK2YTp\r\nWQXlfE/XyuT8RInJ7NUnHNg0m8cJR6zIKdlpzLqp84ZibxC0ywTyfVpP7z3w\r\n6akBFRP9BkrDZnsl0K7NOBUy/j3Aec7G9uE=\r\n=HArg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-77f3ac3_1679078900086_0.8143962538676144"},"_hasShrinkwrap":false},"10.0.1--canary.72b4f2c.0":{"name":"formio-sfds","version":"10.0.1--canary.72b4f2c.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"72b4f2c55bd0f33cfd8eaeedc0ee0f9d7a33d876","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.72b4f2c.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-qDj0guTYqdqHhlm/UfDXR/ixrS0nwyYLlCgPlnir0dqzPkBkPhukTA7tfXutthvmHpYYSHIJAVL3YvoGkYFayw==","shasum":"ff56bdfb19c8bd824c18ac930e76aa38a07553a7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.72b4f2c.0.tgz","fileCount":286,"unpackedSize":1145427,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQcd46SiHPLiVVukQGskZwqsxjwTKaFfsVzTW8uiIuRQIhAOkpPjymAsWdZYHl0Q4yBZgQeQcglJHEaUiNkczQ/kh+"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.72b4f2c.0_1692843309385_0.1673741128883286"},"_hasShrinkwrap":false},"10.0.1--canary.261.6bc48eb.0":{"name":"formio-sfds","version":"10.0.1--canary.261.6bc48eb.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"6bc48eb8c43ef3214077a526b4bf354d4bd33944","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.261.6bc48eb.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-qzF93rn7uZMLtPBxoc3OHdhvCujyM3KBiyYv7/VC9fW28njNf//dDwXIMtptig81rOETEqbbTxybEtlj6QeOGA==","shasum":"c39f4d394352bf80c2a90ff7d9cc471f7be733e5","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.261.6bc48eb.0.tgz","fileCount":286,"unpackedSize":1145431,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDx2jGXDcguPifbrw3X2FaFFuDpM8LQDweyeBRAShXQOwIhAOXwX1py3bdK639UYgrlZQNx8Ga45STQr6QfWz/IJpBs"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.261.6bc48eb.0_1692845994374_0.09112114470031818"},"_hasShrinkwrap":false},"10.0.1--canary.261.26f507c.0":{"name":"formio-sfds","version":"10.0.1--canary.261.26f507c.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"26f507ca135ec7d731e1d69341d9cd83320a2126","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.261.26f507c.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-ldVaxPPgv1BPySYSmdt8rpN8mhnRnC1ULXk/QBfbMUDcPbNuRlsm0JWy9pY+hep1ValiKMql2RFngbqiHv8tVQ==","shasum":"a89e55c3edecfc23b8a3ee9a950fb4b90e3e3efb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.261.26f507c.0.tgz","fileCount":286,"unpackedSize":1145431,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFp7BZ7rgiCcFk1LJ/8dOTPSMxwygFEuaxQaIsTqcWMFAiEAp5wu0MzCHeLsRFpduVCkOOWV5u+XJrTKYw7MhKi92GM="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.261.26f507c.0_1692846324950_0.4890070047709454"},"_hasShrinkwrap":false},"10.0.1--canary.261.2d56443.0":{"name":"formio-sfds","version":"10.0.1--canary.261.2d56443.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"2d564435deff3c5d20368aaca023679325d9fc40","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.261.2d56443.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-SG1yHBjJExEhM3oW+j5iXTflRwlHA7LJROdWwN6H11yv/Oy+yDtyKZxCR4tVrcFodBZCZ3M3l9KlHyWQ/2FuBw==","shasum":"c694832bc343388b6ea1fb8ea99523ffb6ca4065","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.261.2d56443.0.tgz","fileCount":287,"unpackedSize":1145585,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKrhCqCS3yOk2WTVzdMbL7ObzcPZ0SWyehDMvjub3TEAIhAOyXwYw2HZb/uLPJSdpGZCbJ4Ae5usB++j1LKz3fqmdz"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.261.2d56443.0_1692895183040_0.5763903956899261"},"_hasShrinkwrap":false},"10.0.1--canary.261.423b85c.0":{"name":"formio-sfds","version":"10.0.1--canary.261.423b85c.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"423b85c7a9ebd0f6045de1be113ff821519bcbef","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.261.423b85c.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-GVppDrSPZqSk+826jxVMmz9t53J5DqVTB+Qb2gssTDEmReXa83Khx44H/1Jg+zwVPxmRG/iCzDmqrdQH2+dXlQ==","shasum":"30848163150c0ee91069196308c07a2365c1baa1","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.261.423b85c.0.tgz","fileCount":287,"unpackedSize":1145586,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFSE3xZ2TYsqw5yNeyuqMDFEsFq7K1fHQrY+0/uTN0LCAiEAnFN63+yHKeGzrzRcBVO14WFFaLtQtdrr6Kuo+byoc0g="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.261.423b85c.0_1692895419131_0.4002843303550707"},"_hasShrinkwrap":false},"10.0.1--canary.261.ce164c7.0":{"name":"formio-sfds","version":"10.0.1--canary.261.ce164c7.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"ce164c7ded1510535e62a777534e5fab628f8f65","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.261.ce164c7.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-tDOF/XEM9Z/lIkddALY4vXYScaHESKbFEF6pzDDHcmeA2LvTobNoYKqeb6ILEon5Yp7pDyKEcS/0NTt3sd+wMw==","shasum":"3e8831084e7db7fee6288874ce1b681db6142bfc","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.261.ce164c7.0.tgz","fileCount":287,"unpackedSize":1145607,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQfDmbSuXaH5G2aE5im9Rvne8WH4qeZ/SPZh4AIJ42pgIgdaRt6r4BQ4INgQjKVm3VGU+6hXbiw9WsP4FeGPC6uM4="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.261.ce164c7.0_1692899653148_0.915086025150692"},"_hasShrinkwrap":false},"10.0.1--canary.261.a614531.0":{"name":"formio-sfds","version":"10.0.1--canary.261.a614531.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"a6145310cd6233fc67cf21dbbef2082d01b186ee","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.261.a614531.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-2jym+yzMXlGJU1vOUBUWYwuyUJwuKTGUDTEDk1N0KTn0hcuHPueCGMm6n/rSQyR8olQWcP+puznjqWkejFsx4Q==","shasum":"57196453beeaea7b7e5750a4a670cd5b81550783","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.261.a614531.0.tgz","fileCount":287,"unpackedSize":1145586,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCScD82DvB4UnINXlksKIu3BgqQYKA4yIp+5eBv99Jw5AIgVVmHOUzAw8lidF1rNwN2RG4K9I3WEfCyHw1s4krkMMI="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.261.a614531.0_1692900193395_0.9783106187421038"},"_hasShrinkwrap":false},"10.0.1--canary.261.243c5f6.0":{"name":"formio-sfds","version":"10.0.1--canary.261.243c5f6.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"243c5f6bef2517bd6bc2c262db85ea6ddd605a3e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.261.243c5f6.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-8UFo6ZcN2Bg3659zTaLLeSt2ljTTTINOzAYKTCKWpPp3y3cRJuhXBc1VtfKhVGb8pHzl6X8RDph4eC46Cp3cKw==","shasum":"60dea94e622757109c1783b3c7a8de7323821e44","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.261.243c5f6.0.tgz","fileCount":287,"unpackedSize":1145586,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCu4dnf00LGV0WkVYHBpTXnDKHkuw2bQZ5XycRoBCPBVAIhAJKWoc0rc8bIDvW264ilyRfWbJm6O5cMK70bi1/06X1T"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.261.243c5f6.0_1692900716648_0.3022735490891584"},"_hasShrinkwrap":false},"10.0.1--canary.261.d42f47e.0":{"name":"formio-sfds","version":"10.0.1--canary.261.d42f47e.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"d42f47efe1ba27a234b4a3c2387468aac235942c","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.261.d42f47e.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-TS2vVUiRCOWVP6xmU5iLgfbiRLh6EwKmuVbFe5R+aGSMl1TwkQ7B3WTDHG8sBqnVdRMit+yyGBZRZzWv+Zg+Jg==","shasum":"8a5b9f25c55afef6e01f8c65dbc29c43d48ebda7","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.261.d42f47e.0.tgz","fileCount":287,"unpackedSize":1145586,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1H3FtdZ3/1F6nGtVMOAm3YnD2r1GJeLkv6E+fQ7y+HAIgTVflJTr+spR+Yh8sGU5qhOhiGrNewj/b2uQ9yYZa/YU="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.261.d42f47e.0_1692900998922_0.2180811033947314"},"_hasShrinkwrap":false},"10.0.1--canary.260.1c94a49.0":{"name":"formio-sfds","version":"10.0.1--canary.260.1c94a49.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"1c94a496fd2e17b58cf3adb16dc0817a990883fb","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.260.1c94a49.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-fk9Rw958VO++W7Da3R60c0Dxk1ADmuw2g558cz2yI/vWP+BRepQ0mOcNfBUzwiK51Nbx9aoKgzrxP7HLxKcVOg==","shasum":"b252e7516de7e6a48ee09497cd76e204a544de4d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.260.1c94a49.0.tgz","fileCount":287,"unpackedSize":1146132,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBDWmCrgm1BG2ifgL4kRFqOzsSJBxZ7NdoNo3hAgnG/pAiASwlti+08j1/knufRXkVhNFog6XWlfAbNE2sB160lgZw=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.260.1c94a49.0_1692901432271_0.3481128716068731"},"_hasShrinkwrap":false},"10.0.1--canary.f00b343.0":{"name":"formio-sfds","version":"10.0.1--canary.f00b343.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"f00b3434eb588a00776ac13586004292e55bf528","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.f00b343.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-vd4TqwCkw7JCaod7yMCD3QqkncfkYW9rsF9yxYCoZqobKaARezYLbUw8WnYIwu/e8DEWOvvlWCd4ULd38zVjGQ==","shasum":"8ec33c8dfc1d5fcfb96b3ebebbd41e720bb2d553","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.f00b343.0.tgz","fileCount":287,"unpackedSize":1145582,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQQhz4yHtZmMzO9I1pVzOn8GdZIzix9GFLt2xjxhuRlgIgAXxJKoSZb7BH5KWT6v7AqMZM1JYPMv5zQbmUmVute7Y="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.f00b343.0_1692903263849_0.49553805839756015"},"_hasShrinkwrap":false},"10.0.1--canary.262.6692aed.0":{"name":"formio-sfds","version":"10.0.1--canary.262.6692aed.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"6692aed0db5ab4bc4607f8369c962621dc7b5bf6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.262.6692aed.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-fF2SCYljvM8aXEHwLtin+OcvKXqTS26cWKL6vbPXaPw3Fm+y/ExiPVsfJfOmZm7F+C1PSpecogVFr1Ns4+j1Kw==","shasum":"64040714d28ae0aaebc53dd00973028876e82c01","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.262.6692aed.0.tgz","fileCount":287,"unpackedSize":1145586,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIn0L49E/eu6QKAhAO016I3Our20ET4sAyE0RZGehrVwIgMoORoSgQ1PpuF9PgBF6HsjXzJ08gJqyagHLh+7KTU28="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.262.6692aed.0_1692903610513_0.33249162664001486"},"_hasShrinkwrap":false},"10.0.1--canary.262.5cdaf4a.0":{"name":"formio-sfds","version":"10.0.1--canary.262.5cdaf4a.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"5cdaf4a5fd8b2548ff91c04268bd13396e43b968","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.262.5cdaf4a.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-RU8U6iwGvDahEAPGO8gPUTp9P3VosowniV8rRlIQhxAnQgRY6iNCUtiD+X/MwiYumQLWCflL7VNbINA43dFzsg==","shasum":"7a914c4742d088f95126f7b38d6546f2e0ba2e39","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.262.5cdaf4a.0.tgz","fileCount":287,"unpackedSize":1145559,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD76yNEtJ13qxSfBeuG339CLwHe7d7QC7Nz4FcPp5C3XgIgYh637rdPblgKe/inqWmF5wZzzJwsRLnNKpr2SOXvCGQ="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.262.5cdaf4a.0_1692917545128_0.7916256612699732"},"_hasShrinkwrap":false},"10.0.1--canary.262.37587c6.0":{"name":"formio-sfds","version":"10.0.1--canary.262.37587c6.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"37587c6a430b1bdc29200b6bd3c3adea9353a130","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.262.37587c6.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-T8tttTpP3MxbeNHVXxxwb7bulusJnECzXXm5ctte/PiJsTaVPL+43Cy9eGIrPII3bLnq5mx7rcT7OirUlMEOaQ==","shasum":"9b53c60f457a661b5934ebab7600ce5360d9435a","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.262.37587c6.0.tgz","fileCount":287,"unpackedSize":1145559,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICi14JrVEHiuggJfFissVvoYO2bT6VkQdtNUtqlLR28hAiBcEAHkm1BRvWR3ZwNVz3s/Dik1Ym3iJRTjnC63g/2JMA=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.262.37587c6.0_1692978378218_0.6427443792675134"},"_hasShrinkwrap":false},"10.0.1--canary.263.1fc3790.0":{"name":"formio-sfds","version":"10.0.1--canary.263.1fc3790.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"1fc3790663311344855ff624eeb8dca8a904576e","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.263.1fc3790.0","_nodeVersion":"14.21.3","_npmVersion":"6.14.18","dist":{"integrity":"sha512-ChEEYtKg7qQY9SFt+RdRk5EXdIC4+CUu4dkunxqU6VsrQQ9DxwcHQC3z5jn7N3ueDB1lWry5xIfN9USL8yNBJw==","shasum":"5b7264dd1df44197516b5f43d04a5cd6682937a6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.263.1fc3790.0.tgz","fileCount":287,"unpackedSize":1145559,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0azrJvkewPHnoIMYkzr/M4CAMVxi1Cpj9BYzUhI1qdAIgSqYLTWRiuRtrD2wUH5iSxIk4+c2vVEuFlIz5Hf99oxM="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.263.1fc3790.0_1693242009074_0.18320807175929765"},"_hasShrinkwrap":false},"10.0.1--canary.263.abfad23.0":{"name":"formio-sfds","version":"10.0.1--canary.263.abfad23.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"abfad23d81f6da9e9fd9047eebf92d0530b52166","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.263.abfad23.0","_nodeVersion":"14.21.3","_npmVersion":"6.14.18","dist":{"integrity":"sha512-c+dOkLJle8BncAg9j5g5jYDJMhZtmN9YoolXlm6uFjFccr4cxJiKbH+N3N+v8X3QCbGj7aq/cMmrUCDaqyMxng==","shasum":"b5494972b8f3e0d0cf003376f211947fa219b53d","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.263.abfad23.0.tgz","fileCount":287,"unpackedSize":1145559,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2EQNRW9spaBGt5JVB5jtX7XlV21pHAcF5CuN+WiOxJQIgUuT2hIDwhN+CpfwyyDYBTYsG4eqnPX9dF0g6+iTAPGY="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.263.abfad23.0_1693244429006_0.1196087560792829"},"_hasShrinkwrap":false},"10.0.1--canary.05a1b45.0":{"name":"formio-sfds","version":"10.0.1--canary.05a1b45.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"05a1b45e5252f74bb792a261265b0594feafbe70","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.05a1b45.0","_nodeVersion":"14.21.3","_npmVersion":"6.14.18","dist":{"integrity":"sha512-e4Wzaf3Ih8L9S7akrLq7kWvsO4uJm8clTKQz19XIUuHU7tYUnC1cL2LD1H3rixvjmLhmK5FBV/DNoCrwSspzRw==","shasum":"cec3476ba1c9fb6c1445ca89ea50856e0246a861","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.05a1b45.0.tgz","fileCount":287,"unpackedSize":1145555,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHuaAwsDTAHberQoapAU9FufxrfDKCKGxPCU9m9grQxhAiApykUXlniw92XBWe8XyhSpUdw+zg176AM3QVH2F0ZveQ=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.05a1b45.0_1693414603351_0.17416777889623192"},"_hasShrinkwrap":false},"10.0.1--canary.264.c7bf6d1.0":{"name":"formio-sfds","version":"10.0.1--canary.264.c7bf6d1.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"c7bf6d17b903db904e6d242947943c288e25bbc6","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.264.c7bf6d1.0","_nodeVersion":"14.21.3","_npmVersion":"6.14.18","dist":{"integrity":"sha512-vskP0ZyCGptWCyNVSeIGrPlzThK+TG930OapyT5gvSQ8J8pdng8HTyCdvjp4BjFzg2x1fkCdeJkc2r0OU8tV+w==","shasum":"ec9b2b827b3bd882116db0004a6104c71b79abcb","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.264.c7bf6d1.0.tgz","fileCount":287,"unpackedSize":1145559,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDCc1072rnqFiaO88VO6L8JAFUJV+o4JUmnvV33tXqvMAiEArFsoPdSbfgMCDPyP+xYhfRxgxzAD0mw5vLThDcfMFI0="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.264.c7bf6d1.0_1693416944334_0.8737041866941442"},"_hasShrinkwrap":false},"10.0.1--canary.260.09ca524.0":{"name":"formio-sfds","version":"10.0.1--canary.260.09ca524.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"09ca5242929e1d8c26d9ca0a2a6451b995c3bf34","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.260.09ca524.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-gmNCA+HnPYWfxcc3RIvedWKJqFV0yY9ko3NZx2zkD877uae62qbkLqLtE+tNcR6ZSVpiPNCtxv9zFjs3UlHT1Q==","shasum":"c9b3707145cb3b23cbebf9ec2c89b883942cf6d6","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.260.09ca524.0.tgz","fileCount":287,"unpackedSize":1145650,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDt+MHe12febHyJk+/Ao0u2MrBC6h7irPl8rd4xvwZMtwIhAOKD3lkwYoqDNq4nPRSNJJkM1fAp5RXtIU2Tmh2dguqQ"}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.260.09ca524.0_1693500148926_0.557988631527758"},"_hasShrinkwrap":false},"10.0.1--canary.260.c91f256.0":{"name":"formio-sfds","version":"10.0.1--canary.260.c91f256.0","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"c91f2566283293b2fb0f9afa27133d90262b65e4","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1--canary.260.c91f256.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-3PlB7EEsfHiGDXmWJ/7AXcH/iBtCg/CSjTJghlT8GHbNjd4+22Z0LwNTe3daOSVVmXcvVadiG2DqnkbzB3QD7Q==","shasum":"0abec3b0ac78e9b7063bc4895b2c3e97c86f1cc9","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1--canary.260.c91f256.0.tgz","fileCount":287,"unpackedSize":1145622,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHu6UihZ3EEMNcYaR5Gk3KsOt9VsmTEvq70Lrfbt40mnAiBeqkymEKVw8oLL/J8LLxOj4WBvYAG5FGeig/X3QE7JxA=="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1--canary.260.c91f256.0_1693526478463_0.6699849688337032"},"_hasShrinkwrap":false},"10.0.1":{"name":"formio-sfds","version":"10.0.1","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"gitHead":"2e7b61fd2debf84faad188f77bfa4be6aa9107ea","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@10.0.1","_nodeVersion":"14.21.3","_npmVersion":"6.14.18","dist":{"integrity":"sha512-rnztjY6P57XrSM8TyAGdwUD4Jwlk7//xmZGZupaSvuysn0RqzAUcka3FUXd42V9EakBAwqK9ufQadR2e360UjA==","shasum":"58749cff742a4fa790913a5dd7820030446669bd","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-10.0.1.tgz","fileCount":288,"unpackedSize":1146577,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5yyXSDw/0FezIaEI6t7COF8iZn6SbAVhbk/8tsifRfAIgP/1htPKblqlXUJZ0ekAtiILzuFVWLMkclgRlGYGZCPY="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_10.0.1_1693527161979_0.41107804735367237"},"_hasShrinkwrap":false},"0.0.0-931671":{"name":"formio-sfds","version":"0.0.0-931671","description":"The Form.io theme for sf.gov","module":"src/index.js","browser":"dist/formio-sfds.standalone.js","style":"dist/formio-sfds.css","engines":{"node":">= 14.x"},"scripts":{"develop":"run-p watch watch-server","build":"run-s build-css build-js build-views","build-css":"postcss src/scss/formio-sfds.scss --ext css --dir dist","build-js":"rollup -c","build-views":"script/render-views","lint":"run-p lint-js lint-css","lint-css":"stylelint src/scss/**/*.scss","lint-js":"eslint src __tests__ lib api '*.js'","start":"node server.js","test":"jest","snaps":"npm run build-js && npm test -- -u","watch":"run-s build-css watch-all","watch-all":"run-p watch-css watch-js watch-views","watch-css":"watchy -w 'src/scss/**/*.scss' -- npm run build-css","watch-js":"rollup -c --watch","watch-views":"watchy -w 'views/*' -w src/examples.yml -w script/render-views -w lib/remark.js -- npm run build-views","watch-server":"nodemon server.js --ignore dist","watch-test":"jest --watch","publish-auto":"auto shipit"},"browserslist":["> 1%","ie 11"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"keywords":["formio","sf-design-system"],"author":{"name":"San Francisco Digital Services"},"license":"MIT","@primer/publish":{"releaseBranch":"main"},"dependencies":{"choices.js":"^9.0.1","dotmap":"^0.1.0","flatpickr":"^4.6.3","formiojs":"4.14.8","interpolate":"^0.1.0","uri-template-lite":"^19.12.0","whatwg-fetch":"^3.0.0"},"devDependencies":{"@auto-it/protected-branch":"^11.0.1","@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"^7.10.2","@babel/runtime":"^7.11.2","@csstools/postcss-sass":"^4.0.0","@rollup/plugin-babel":"^5.1.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-dsv":"^2.0.1","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@rollup/plugin-yaml":"^2.1.1","@ungap/global-this":"^0.4.0","auto":"^11.0.1","autoprefixer":"^9.8.0","babel-plugin-lodash":"^3.3.4","classnames":"^2.3.1","dot-component":"^0.1.1","dotenv":"^8.2.0","eslint":"^7.28.0","eslint-plugin-sfgov":"^1.0.0","express":"^4.17.1","globby":"^11.0.1","hastscript":"^6.0.0","i18next":"19.7.0","jest":"^26.6.3","jest-serializer-html":"^7.1.0","js-yaml":"^3.14.0","mkdirp":"^1.0.4","nodemon":"^2.0.16","npm-run-all":"^4.1.5","nunjucks":"^3.2.1","postcss":"^8.4.14","postcss-cli":"^7.1.1","postcss-import":"^12.0.1","postcss-inline-svg":"^4.1.0","postcss-scss":"^2.1.1","regenerator-runtime":"^0.13.5","remark":"^13.0.0","remark-autolink-headings":"^6.0.1","remark-frontmatter":"^3.0.0","remark-gfm":"^1.0.0","remark-github":"^10.0.1","remark-highlight.js":"^6.0.0","remark-html":"^13.0.1","remark-slug":"^6.0.0","remark-yaml-config":"^5.0.0","rollup":"^2.11.2","rollup-plugin-babel":"^4.4.0","rollup-plugin-define":"^1.0.1","rollup-plugin-jst":"^1.2.0","rollup-plugin-postcss":"^2.9.0","rollup-plugin-svgo":"^1.1.0","rollup-plugin-terser":"^7.0.0","sass":"^1.26.5","selector-observer":"^2.1.6","sf-design-system":"^1.3.0","source-map":"^0.7.4","stylelint":"^14.9.1","stylelint-config-standard-scss":"^4.0.0","stylelint-scss":"^4.2.0","unist-util-visit":"^2.0.3","us":"^2.0.0","watchy":"^0.9.7"},"readme":"---\ntitle: Docs\n---\n\n# formio-sfds\nThis is the [Form.io] theme for [sf.gov](https://sf.gov).\n\n## Documentation\n* [Usage](#usage)\n    * [Browser](#browser)\n    * [CSS](#css)\n    * [Form.io portal](#formio-portal)\n* [Custom components](docs/components.md#readme)\n* [Formio patches](docs/patches.md)\n    * [Form options](docs/patches.md#form-options)\n    * [Form upgrades](docs/patches.md#form-upgrades)\n    * [Autocomplete components](docs/autocomplete.md)\n    * [Icons](docs/patches.md#icons)\n    * [Declarative actions](docs/patches.md#declarative-actions)\n* [Localization](docs/localization.md#readme)\n* [Development](docs/develop.md#readme)\n\n## Usage\n\n### Browser\nThe \"standalone\" JavaScript bundle is intended to be used in a browser (or\nbrowser-like environment) via `<script>` tags. You'll need to include the\nformiojs library in your document _before_ formio-sfds, like so:\n\n```html\n<script src=\"https://unpkg.com/formiojs@4.11.2/dist/formio.full.min.js\"></script>\n<script src=\"https://unpkg.com/formio-sfds@7.x/dist/formio-sfds.standalone.js\"></script>\n```\n\n\n### CSS\nThe CSS in this package provides a suite of styles that target a mix of\nForm.io-generated selectors and classes used in the custom theme templates, as\nwell as a collection of general-purpose utility classes for tweaking individual\nelements.\n\n**Note:** The `formio-sfds.standalone.js` bundle injects the CSS into the\n`<head>` of the host document at runtime, so there's no need for a separate\n`<link>` tag.\n\n#### Scoped CSS\nAll of the selectors in the packaged CSS are scoped to (nested in) a\n`.formio-sfds` class selector, which effectively prevents them from leaking\ninto the page where the form is embedded.\n\nUnless you're using the [standalone bundle](#standalone-bundle) (which wraps\nthe form elements automatically), you'll need to wrap all of your the elements\ntargeted by `Formio.createForm()` with a `<div class=\"formio-sfds\">`.\n\n\n### Form.io portal\nThe \"portal\" bundle is intended for use _inside_ the form.io admin UI, and\ncustomizes the palette of available components with [this theme's\ncomponents](docs/components.md). To use it, visit your form.io project Settings\npage, and paste the URL below into the \"Custom Javascript\" (sic) field:\n\n```\nhttps://unpkg.com/formio-sfds@7.x/dist/portal.js\n```\n\n![](https://user-images.githubusercontent.com/113896/90575355-0d109a00-e170-11ea-9593-8be0afe88c70.png)\n\n\n---\n\nLicense: [MIT](./LICENSE)\n\n[form.io]: https://form.io\n[unpkg]: https://unpkg.com\n\n\n### Creating new versions\n1. Open a PR in the formio-sfds repo (may need to add you as a collaborator so that you can open PRs directly and GitHub Actions will publish your changes to npm automatically)\n\n2. In the PR checks, when you click “Show all checks”, you can copy the published version from the “publish formio-sfds” check:\n\n3. Pop that 0.0.0-<sha> value into the \"Form.io SFDS version\" field on /admin/config/services/sfgov_formio in your local and multidev environments (not in the committed settings YAML — we only want to commit published versions)\n\n4. Test your changes and get them reviewed in your multidev\n\n5. Get the changes to formio-sfds approved and released\n\n6. Update config/sfgov_formio.settings.yml by setting formio_sfds_version to the newly published release version (i.e. 9.2.3)\n\n7. Re-test after deploying again to make sure it still works\n","readmeFilename":"README.md","gitHead":"117c681e8bd13da89e7533392b0df752758d74de","bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","_id":"formio-sfds@0.0.0-931671","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-KVUsAUU/9jeio/BIttDjQuUGEo+OPm2LUUfPSYUawVJj4QjzEYUW8YF2RVr/FKuOqQj3z+fgBTte/iLPCg1sKQ==","shasum":"3a2d286fe6b6768b3120cf03e84cc6d8c242b879","tarball":"https://registry.npmjs.org/formio-sfds/-/formio-sfds-0.0.0-931671.tgz","fileCount":288,"unpackedSize":1374725,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTHdda+cG/ny+jKYpV9u29kxftBJTWov61qY9jaC64cQIgPp6LXLNLDkTYCdltNYSbCck8R+WtuYWxw78p249J+OI="}]},"_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"directories":{},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/formio-sfds_0.0.0-931671_1700180488453_0.9443061344310086"},"_hasShrinkwrap":false}},"time":{"created":"2020-03-17T23:56:13.371Z","0.0.0-eedfab0":"2020-03-17T23:56:13.802Z","modified":"2023-11-17T00:21:28.993Z","1.0.0":"2020-03-18T03:57:34.179Z","0.0.0-e01c3b2":"2020-03-18T18:00:11.702Z","0.0.0-6611b79":"2020-03-18T18:15:40.258Z","0.0.0-3ab5691":"2020-03-18T18:16:13.410Z","0.0.0-faf2a91":"2020-03-19T03:56:15.064Z","1.0.1":"2020-03-19T20:52:48.826Z","0.0.0-5bdf68f":"2020-03-20T18:05:15.097Z","0.0.0-5b15122":"2020-03-20T18:35:07.995Z","1.1.0":"2020-03-20T20:36:47.522Z","0.0.0-79fdd32":"2020-03-21T21:32:08.375Z","0.0.0-b1e6656":"2020-03-21T21:34:42.647Z","1.2.0-rc.844c84a":"2020-03-21T21:35:50.533Z","0.0.0-ba83afe":"2020-03-21T22:11:54.595Z","1.2.0-rc.ed64118":"2020-03-21T22:17:54.924Z","1.2.0-rc.deaba6e":"2020-03-21T22:18:03.949Z","1.2.0-rc.e09ead0":"2020-03-21T22:18:17.569Z","1.2.0":"2020-03-21T22:21:20.481Z","0.0.0-b9c6549":"2020-03-24T03:21:00.150Z","0.0.0-83e65bd":"2020-03-24T03:35:28.145Z","0.0.0-6112e30":"2020-03-24T08:57:26.535Z","0.0.0-9094383":"2020-03-24T09:35:10.581Z","0.0.0-1be6da7":"2020-03-24T21:55:45.039Z","0.0.0-d35f318":"2020-03-24T21:59:17.482Z","0.0.0-81dc5d0":"2020-03-24T22:26:49.614Z","0.0.0-294c4f9":"2020-03-24T23:03:45.273Z","0.0.0-35965fc":"2020-03-24T23:16:39.955Z","0.0.0-19fbb7c":"2020-03-24T23:29:50.208Z","0.0.0-96d4a56":"2020-03-25T01:11:12.741Z","0.0.0-bdd61c7":"2020-03-25T01:35:17.733Z","0.0.0-c8acfba":"2020-03-25T01:39:44.288Z","0.0.0-014cb53":"2020-03-25T01:44:49.095Z","0.0.0-0ffbd54":"2020-03-25T01:52:13.991Z","1.3.0":"2020-03-25T01:58:25.791Z","0.0.0-f316ccd":"2020-03-25T07:41:59.654Z","0.0.0-b2c9de7":"2020-03-25T09:39:16.977Z","0.0.0-607e9e9":"2020-03-25T09:48:48.733Z","1.4.0":"2020-03-25T17:31:52.979Z","1.5.0-rc.8e0cff6":"2020-03-25T22:30:16.501Z","1.5.0-rc.558e0c0":"2020-03-25T23:13:44.859Z","1.5.0-rc.bd3785c":"2020-03-25T23:38:50.519Z","1.5.0-rc.49a15fc":"2020-03-26T01:14:47.821Z","1.5.0-rc.ebd4508":"2020-03-26T01:17:13.959Z","1.5.0":"2020-03-26T01:48:49.348Z","1.6.0-rc.62bdffd":"2020-03-26T04:18:29.630Z","1.6.0-rc.493bf94":"2020-03-26T07:40:12.962Z","1.6.0-rc.a7a4127":"2020-03-26T07:53:06.667Z","1.6.0":"2020-03-26T07:55:03.837Z","1.6.1-rc.d748ff8":"2020-03-27T03:49:48.755Z","1.6.1-rc.97e69f3":"2020-03-27T04:34:25.684Z","1.6.1-rc.eba727b":"2020-03-27T16:54:00.488Z","2.0.0-rc.0193cb8":"2020-03-27T18:23:27.668Z","2.0.0":"2020-03-27T18:25:31.909Z","0.0.0-7a29fcc":"2020-03-31T17:12:33.477Z","2.1.0-rc.1c94dd2":"2020-03-31T17:13:08.036Z","0.0.0-11de8d0":"2020-03-31T17:23:45.281Z","0.0.0-0c79e85":"2020-03-31T17:33:52.769Z","2.1.0-rc.f3cd3de":"2020-03-31T17:35:24.450Z","0.0.0-b2f183a":"2020-03-31T17:39:39.481Z","2.1.0-rc.ea3d2ae":"2020-03-31T17:44:44.295Z","0.0.0-7fa4879":"2020-04-02T21:09:35.507Z","0.0.0-8994f30":"2020-04-02T21:42:44.825Z","0.0.0-2defb5c":"2020-04-03T18:57:47.075Z","2.1.0-rc.4bddf6b":"2020-04-03T20:05:28.293Z","2.1.0":"2020-04-03T20:23:49.499Z","0.0.0-61142b9":"2020-04-03T23:33:09.264Z","0.0.0-86106c8":"2020-04-04T08:29:58.976Z","0.0.0-90f4852":"2020-04-05T02:19:51.388Z","0.0.0-ad2640c":"2020-04-05T02:40:23.370Z","0.0.0-452b231":"2020-04-05T04:04:09.210Z","3.0.0-rc.4dbf63e":"2020-04-05T06:36:03.175Z","3.0.0-rc.21a636f":"2020-04-05T06:39:25.276Z","0.0.0-b5c6394":"2020-04-05T17:29:13.407Z","3.0.0-rc.b9998f3":"2020-04-05T17:35:56.615Z","3.0.0":"2020-04-05T17:37:38.994Z","0.0.0-723d0f6":"2020-04-06T00:08:54.243Z","0.0.0-a18b1b2":"2020-04-06T00:11:04.161Z","0.0.0-bd91b03":"2020-04-06T02:26:06.159Z","0.0.0-1eed238":"2020-04-06T07:46:56.995Z","0.0.0-5a0a8b6":"2020-04-06T08:14:00.883Z","0.0.0-9751ae5":"2020-04-06T17:26:15.528Z","0.0.0-ab2227f":"2020-04-06T17:40:04.863Z","0.0.0-127d591":"2020-04-06T17:46:44.293Z","0.0.0-f2baadb":"2020-04-06T19:45:05.230Z","0.0.0-54918f6":"2020-04-06T19:58:33.836Z","0.0.0-00689c2":"2020-04-07T03:57:02.610Z","0.0.0-bbe707e":"2020-04-07T04:24:19.917Z","3.0.1-rc.5c4790c":"2020-04-07T23:27:35.574Z","3.0.1-rc.a60753e":"2020-04-09T16:46:50.676Z","3.0.1-rc.31bac07":"2020-04-09T17:44:03.482Z","3.0.1-rc.276f1a9":"2020-04-09T18:04:40.445Z","3.0.1-rc.e2af14c":"2020-04-09T18:09:02.012Z","3.0.1-rc.72030e8":"2020-04-09T18:21:18.195Z","3.0.1-rc.bb1a584":"2020-04-09T18:38:14.665Z","3.0.1-rc.fbd381d":"2020-04-09T19:05:07.655Z","3.0.1-rc.8612431":"2020-04-09T19:23:24.356Z","3.0.1-rc.3bc93e9":"2020-04-09T22:31:28.031Z","3.0.1-rc.7639b88":"2020-04-09T22:34:50.761Z","3.0.1-rc.2d11446":"2020-04-09T22:50:49.679Z","3.0.1-rc.9d9156a":"2020-04-10T22:56:07.605Z","3.0.1-rc.98adab7":"2020-04-10T23:09:07.225Z","3.0.1":"2020-04-10T23:12:30.459Z","0.0.0-09a3e05":"2020-04-11T00:35:27.358Z","0.0.0-39d8d7f":"2020-04-11T00:36:32.997Z","0.0.0-cd9c90e":"2020-04-13T16:39:55.372Z","0.0.0-4736d71":"2020-04-13T16:45:55.619Z","3.0.2":"2020-04-13T21:37:07.846Z","0.0.0-45d8aea":"2020-04-13T23:27:09.374Z","0.0.0-e783e95":"2020-04-15T00:28:13.093Z","0.0.0-9cff00b":"2020-04-15T00:49:44.204Z","3.0.3":"2020-04-15T00:53:31.106Z","0.0.0-b33794c":"2020-04-15T19:42:43.512Z","0.0.0-4bf2c8a":"2020-04-15T19:47:16.505Z","4.0.0-rc.d2c5042":"2020-04-15T20:17:21.714Z","4.0.0-rc.bbbcefb":"2020-04-15T20:17:41.573Z","4.0.0-rc.94b2e3f":"2020-04-15T20:21:54.521Z","0.0.0-46d63c8":"2020-04-15T22:05:18.957Z","0.0.0-fed06ea":"2020-04-15T22:12:47.602Z","0.0.0-8b17428":"2020-04-15T23:18:05.333Z","0.0.0-bd04a64":"2020-04-16T01:16:11.719Z","4.0.0-rc.41326da":"2020-04-16T02:06:41.724Z","4.0.0":"2020-04-16T02:09:05.269Z","0.0.0-10f074b":"2020-04-16T22:39:49.657Z","0.0.0-41f6c4f":"2020-04-16T22:58:18.120Z","4.0.1":"2020-04-16T23:08:24.470Z","0.0.0-4161211":"2020-04-17T17:31:14.465Z","0.0.0-2755276":"2020-04-17T21:54:45.836Z","0.0.0-f6b38b0":"2020-04-17T22:12:45.383Z","4.1.0":"2020-04-17T22:15:16.195Z","0.0.0-c41b1eb":"2020-04-20T22:15:27.137Z","0.0.0-1cc0719":"2020-04-20T22:18:36.086Z","0.0.0-82f60d4":"2020-04-20T22:19:16.037Z","4.1.1":"2020-04-21T21:12:24.541Z","0.0.0-a2321f9":"2020-04-21T21:20:00.724Z","0.0.0-cecd525":"2020-04-22T00:34:19.619Z","0.0.0-ca7d041":"2020-04-22T14:46:56.560Z","0.0.0-8680d11":"2020-04-22T18:58:18.179Z","0.0.0-1bcd27f":"2020-04-22T19:36:27.216Z","0.0.0-c805928":"2020-04-22T20:10:42.417Z","0.0.0-958556f":"2020-04-22T21:06:21.767Z","0.0.0-c743549":"2020-04-22T21:08:23.411Z","4.1.2":"2020-04-22T21:51:08.363Z","0.0.0-f4eb20d":"2020-04-22T22:28:19.374Z","0.0.0-00cb431":"2020-04-22T23:03:45.873Z","0.0.0-f44e66a":"2020-04-22T23:27:27.499Z","0.0.0-3850e94":"2020-04-22T23:36:23.395Z","0.0.0-1125761":"2020-04-23T21:31:56.273Z","0.0.0-52df3d7":"2020-04-23T23:32:42.827Z","0.0.0-de0dfed":"2020-04-24T07:45:34.048Z","0.0.0-2f97ce2":"2020-04-24T16:05:01.169Z","0.0.0-c4c6574":"2020-04-24T16:15:47.869Z","4.1.3":"2020-04-24T16:26:51.289Z","0.0.0-4145153":"2020-04-28T22:42:03.452Z","0.0.0-d3cabad":"2020-04-28T23:20:27.806Z","0.0.0-f9c2e17":"2020-04-29T00:41:50.720Z","0.0.0-3b787c5":"2020-04-29T02:32:12.872Z","0.0.0-ad71b16":"2020-04-29T20:41:36.133Z","0.0.0-93e66a8":"2020-04-29T21:22:41.083Z","0.0.0-e1807dd":"2020-05-01T15:13:51.572Z","0.0.0-a162b3c":"2020-05-04T18:55:18.431Z","0.0.0-625cabd":"2020-05-04T22:02:43.727Z","0.0.0-b6739ce":"2020-05-04T22:14:05.015Z","0.0.0-8150907":"2020-05-04T22:20:06.301Z","4.2.0":"2020-05-04T22:42:10.210Z","0.0.0-25f957a":"2020-05-05T14:29:57.990Z","0.0.0-cb547b7":"2020-05-05T19:36:33.055Z","0.0.0-4eaee16":"2020-05-05T19:53:36.201Z","0.0.0-6c356e6":"2020-05-05T19:57:27.600Z","5.0.0-rc.74be997":"2020-05-07T21:30:31.052Z","5.0.0-rc.cae6874":"2020-05-08T16:57:08.772Z","0.0.0-1c3b942":"2020-05-12T21:32:13.224Z","0.0.0-7137ebf":"2020-05-12T22:22:26.614Z","0.0.0-83ef4de":"2020-05-12T22:24:08.292Z","0.0.0-1c7d59a":"2020-05-12T22:28:43.454Z","5.0.0-rc.d2a351a":"2020-05-12T22:30:31.067Z","0.0.0-b5e1622":"2020-05-13T15:56:07.764Z","0.0.0-1994d58":"2020-05-13T17:26:41.155Z","0.0.0-f6d34d0":"2020-05-13T21:12:23.552Z","0.0.0-18b6d45":"2020-05-21T18:42:03.660Z","0.0.0-0bb8b2f":"2020-05-21T18:51:04.834Z","5.0.0-rc.eb0ba98":"2020-05-21T20:00:33.575Z","0.0.0-0ab3a29":"2020-05-21T21:27:20.328Z","5.0.0-rc.f2c0c0e":"2020-05-21T21:31:07.549Z","0.0.0-2f986db":"2020-05-26T21:01:09.688Z","0.0.0-d6b7248":"2020-05-28T18:30:19.186Z","0.0.0-4b4f026":"2020-05-28T19:28:12.377Z","0.0.0-7a0bedc":"2020-05-28T23:27:33.122Z","0.0.0-dfdd474":"2020-05-29T16:33:07.296Z","0.0.0-cc3509f":"2020-05-29T21:37:14.885Z","0.0.0-47beab3":"2020-06-01T17:44:51.855Z","0.0.0-3115e22":"2020-06-01T22:58:50.433Z","0.0.0-ed51d4f":"2020-06-02T16:15:38.884Z","0.0.0-59c5e01":"2020-06-02T17:03:14.320Z","0.0.0-3166e1f":"2020-06-02T23:29:40.257Z","0.0.0-e35ac7b":"2020-06-03T15:54:25.396Z","0.0.0-09ddded":"2020-06-03T17:59:12.567Z","0.0.0-0fa1a2c":"2020-06-03T18:38:54.614Z","0.0.0-bb3cbdf":"2020-06-03T19:54:25.549Z","0.0.0-53c7fea":"2020-06-03T20:12:56.059Z","5.0.0-rc.77c3ade":"2020-06-03T23:26:46.293Z","0.0.0-66b5134":"2020-06-04T07:29:59.574Z","0.0.0-833488e":"2020-06-04T17:20:42.783Z","0.0.0-5c5ba34":"2020-06-04T17:28:12.347Z","0.0.0-5842e30":"2020-06-04T17:46:55.063Z","0.0.0-aeb2f6e":"2020-06-04T19:17:59.571Z","0.0.0-548557f":"2020-06-04T19:18:23.085Z","4.2.1":"2020-06-04T19:20:56.346Z","0.0.0-fd8d833":"2020-06-05T02:29:32.976Z","0.0.0-9bd661e":"2020-06-05T05:19:12.157Z","0.0.0-36ded71":"2020-06-05T05:19:28.225Z","4.2.2":"2020-06-05T21:25:02.681Z","0.0.0-791ae86":"2020-06-09T22:50:29.290Z","0.0.0-cbbbad8":"2020-06-09T23:29:36.642Z","4.2.3":"2020-06-09T23:55:06.579Z","5.0.0-rc.0e2c448":"2020-06-10T00:02:11.912Z","5.0.0-rc.e4af436":"2020-06-10T00:49:13.960Z","5.0.0":"2020-06-10T00:51:18.091Z","0.0.0-350d3a5":"2020-06-10T22:06:53.947Z","0.0.0-869c7b4":"2020-06-10T23:18:45.175Z","0.0.0-b8e72d1":"2020-06-10T23:32:12.720Z","0.0.0-caeb575":"2020-06-10T23:34:40.782Z","6.0.0-rc.72ac5ae":"2020-06-11T18:19:57.477Z","0.0.0-370a715":"2020-06-11T18:51:27.243Z","0.0.0-1939a5f":"2020-06-11T18:59:11.666Z","6.0.0-rc.fb5b979":"2020-06-11T18:59:18.748Z","0.0.0-2668939":"2020-06-11T21:18:40.328Z","0.0.0-7f4a695":"2020-06-11T22:01:22.102Z","0.0.0-60ba292":"2020-06-11T22:06:12.886Z","5.0.1-rc.ce44423":"2020-06-11T22:12:07.977Z","5.0.1":"2020-06-11T22:14:33.908Z","5.0.2-rc.46ba3fc":"2020-06-12T18:04:32.033Z","0.0.0-3d1d56a":"2020-06-12T18:08:58.336Z","0.0.0-37fd707":"2020-06-12T18:12:40.009Z","5.0.2-rc.f3a969c":"2020-06-12T18:15:12.697Z","5.0.2":"2020-06-12T18:17:42.051Z","0.0.0-9125760":"2020-06-15T21:50:35.386Z","0.0.0-603ace2":"2020-06-15T21:56:29.618Z","0.0.0-0b3d0b3":"2020-06-15T22:11:40.600Z","0.0.0-c5cd791":"2020-06-17T18:26:27.575Z","0.0.0-df1d08d":"2020-06-17T22:12:34.525Z","0.0.0-098488f":"2020-06-17T22:44:58.908Z","0.0.0-fc2aa9a":"2020-06-17T23:22:09.154Z","0.0.0-d5cc62c":"2020-06-17T23:33:57.429Z","5.0.3-rc.c65a7e7":"2020-06-17T23:34:41.974Z","5.0.3":"2020-06-17T23:39:15.691Z","0.0.0-d4a9dd0":"2020-06-22T18:05:13.713Z","0.0.0-8925bb6":"2020-06-22T22:13:20.479Z","6.0.0-rc.5f57742":"2020-06-22T23:59:40.073Z","0.0.0-d8d65fd":"2020-06-24T20:26:42.812Z","0.0.0-53f375a":"2020-06-24T20:47:55.828Z","6.0.0-rc.99029c6":"2020-06-25T01:19:28.592Z","0.0.0-574840d":"2020-06-25T19:58:13.916Z","0.0.0-d73b989":"2020-07-07T18:24:19.805Z","0.0.0-4054b22":"2020-07-07T18:39:13.318Z","0.0.0-1acb632":"2020-07-07T18:48:33.003Z","0.0.0-b73a8d7":"2020-07-07T19:01:45.913Z","0.0.0-05e70a6":"2020-07-07T19:06:51.631Z","5.0.4":"2020-07-07T19:10:52.778Z","5.0.5-rc.455638a":"2020-07-07T19:24:41.323Z","5.0.5":"2020-07-07T19:28:56.527Z","6.0.0-rc.9ef68be":"2020-07-09T22:31:24.138Z","0.0.0-9e456dd":"2020-07-14T21:15:51.727Z","6.0.0-rc.a4887b8":"2020-07-14T21:22:37.621Z","0.0.0-7bdfd36":"2020-07-14T21:23:21.791Z","6.0.0-rc.967ab54":"2020-07-14T21:58:58.387Z","6.0.0":"2020-07-14T22:16:06.282Z","0.0.0-f9fc257":"2020-07-15T00:10:44.419Z","6.0.1-rc.6d1462d":"2020-07-15T00:11:04.840Z","0.0.0-7d647f3":"2020-07-15T19:04:45.151Z","0.0.0-2e3340e":"2020-07-15T19:13:59.472Z","0.0.0-9ff10ea":"2020-07-15T19:17:27.900Z","0.0.0-58b28f0":"2020-07-15T19:27:17.983Z","0.0.0-1055bfb":"2020-07-15T19:29:14.633Z","0.0.0-c1c617a":"2020-07-15T19:43:44.022Z","0.0.0-928998a":"2020-07-15T19:46:41.529Z","6.0.1-rc.8bfd9a0":"2020-07-15T19:50:49.024Z","6.0.1":"2020-07-15T19:59:22.105Z","0.0.0-61adc59":"2020-07-15T20:00:22.704Z","0.0.0-87b1260":"2020-07-16T21:21:05.804Z","6.0.2-rc.daf8209":"2020-07-16T21:22:49.641Z","0.0.0-2426a24":"2020-07-17T04:08:44.585Z","0.0.0-ee21cb1":"2020-07-20T21:01:31.997Z","0.0.0-532051c":"2020-07-21T04:16:06.581Z","0.0.0-e822134":"2020-07-21T04:19:03.880Z","6.0.2":"2020-07-21T04:29:02.229Z","0.0.0-c963d92":"2020-07-21T22:26:57.156Z","0.0.0-eac2f1c":"2020-07-21T22:46:32.343Z","0.0.0-2c08d8b":"2020-07-21T23:13:16.377Z","0.0.0-3e0f1a2":"2020-07-24T18:07:20.332Z","0.0.0-d3a80f3":"2020-07-24T18:09:35.276Z","0.0.0-cec6491":"2020-07-24T18:44:14.555Z","0.0.0-03b1f3f":"2020-07-24T18:45:07.935Z","0.0.0-206de68":"2020-07-24T19:01:37.842Z","0.0.0-1f418b2":"2020-07-24T22:21:15.160Z","0.0.0-abcb64f":"2020-07-24T22:29:47.989Z","6.0.3-rc.c69e779":"2020-07-24T22:33:18.727Z","0.0.0-34932fa":"2020-07-27T21:27:06.250Z","6.0.3-rc.045ae6b":"2020-07-27T22:14:06.327Z","0.0.0-e9ea13d":"2020-07-27T22:16:49.330Z","6.0.3-rc.f8fc5f0":"2020-07-27T22:19:43.536Z","6.0.3":"2020-07-27T22:21:50.998Z","0.0.0-6e2e6f3":"2020-07-29T18:19:16.994Z","0.0.0-90d1f38":"2020-07-29T18:25:07.915Z","0.0.0-b13d684":"2020-07-29T18:26:45.292Z","0.0.0-b1b0c21":"2020-07-29T18:29:09.451Z","0.0.0-cd78333":"2020-07-29T19:41:56.993Z","0.0.0-e793327":"2020-07-30T00:02:38.159Z","0.0.0-cf41de7":"2020-07-30T18:24:05.023Z","0.0.0-cd0ee8f":"2020-07-30T22:07:45.592Z","0.0.0-996c299":"2020-08-03T16:32:02.773Z","0.0.0-8cd3a2d":"2020-08-04T19:11:54.103Z","0.0.0-51a2633":"2020-08-04T19:36:15.079Z","0.0.0-fa2949c":"2020-08-04T23:27:50.575Z","0.0.0-4b6f48c":"2020-08-05T17:14:02.636Z","0.0.0-d58f4dc":"2020-08-05T17:31:11.788Z","0.0.0-e8729e8":"2020-08-05T17:34:50.412Z","6.0.4-rc.ad127ae":"2020-08-10T17:45:23.186Z","6.0.4-rc.1cf0239":"2020-08-11T00:01:11.135Z","6.0.4":"2020-08-11T17:33:36.274Z","0.0.0-3c493a4":"2020-08-11T17:36:43.207Z","0.0.0-7145f24":"2020-08-11T17:38:35.625Z","0.0.0-09f83b4":"2020-08-11T19:17:31.708Z","0.0.0-58681f2":"2020-08-11T19:34:56.722Z","0.0.0-a8f12da":"2020-08-11T19:56:52.929Z","0.0.0-9216573":"2020-08-11T20:11:43.665Z","0.0.0-d077f17":"2020-08-11T20:17:25.911Z","0.0.0-ec0f19d":"2020-08-11T20:36:46.919Z","0.0.0-c6e02c7":"2020-08-11T21:29:57.417Z","0.0.0-494cbb0":"2020-08-11T22:48:49.923Z","0.0.0-2469fe4":"2020-08-11T23:36:55.906Z","0.0.0-e9c5279":"2020-08-11T23:48:41.962Z","7.0.0-rc.c34294b":"2020-08-11T23:49:51.013Z","7.0.0-rc.5a775f4":"2020-08-11T23:54:20.589Z","0.0.0-2382eb1":"2020-08-12T17:16:22.284Z","0.0.0-e3c91ab":"2020-08-12T20:39:35.132Z","0.0.0-b9657cb":"2020-08-12T21:20:55.026Z","0.0.0-3977d41":"2020-08-12T21:30:11.559Z","6.0.5-rc.e097fda":"2020-08-13T20:27:42.198Z","6.0.5":"2020-08-13T20:30:36.111Z","6.1.0-rc.a16c49a":"2020-08-13T20:41:15.173Z","0.0.0-9ace8dc":"2020-08-18T19:17:33.577Z","0.0.0-6ac981c":"2020-08-18T22:17:19.164Z","0.0.0-d230d7a":"2020-08-19T00:19:01.343Z","6.1.0-rc.c4ab243":"2020-08-19T00:23:35.460Z","0.0.0-8c4af0e":"2020-08-19T20:59:38.417Z","0.0.0-4cdb13b":"2020-08-19T21:46:16.757Z","0.0.0-41300ce":"2020-08-20T18:54:06.541Z","0.0.0-73a1f91":"2020-08-20T18:57:40.794Z","0.0.0-0412d9b":"2020-08-20T21:10:34.761Z","0.0.0-9c7a70c":"2020-08-20T21:13:52.024Z","0.0.0-7cba02d":"2020-08-20T22:58:27.668Z","0.0.0-e44b8ea":"2020-08-20T23:11:43.479Z","6.1.0-rc.5fc752d":"2020-08-21T21:52:00.996Z","0.0.0-0ca6181":"2020-08-21T21:53:57.244Z","6.1.0-rc.a3fcccd":"2020-08-21T21:57:17.920Z","6.1.0-rc.d5f2af2":"2020-08-21T22:09:36.858Z","6.1.0-rc.658329d":"2020-08-24T17:06:33.045Z","6.1.0-rc.915d988":"2020-08-24T17:16:33.940Z","6.1.0-rc.c4ce6fe":"2020-08-24T17:22:42.989Z","6.1.0-rc.2b820c3":"2020-08-24T17:24:29.250Z","6.1.0-rc.199ac2f":"2020-08-24T17:25:25.460Z","6.1.0-rc.aef257c":"2020-08-24T20:01:23.252Z","6.1.0-rc.17a94b1":"2020-08-24T20:06:12.032Z","6.1.0":"2020-08-24T20:16:47.417Z","0.0.0-bc912c0":"2020-08-24T20:55:49.939Z","0.0.0-6859d00":"2020-08-24T21:18:51.793Z","0.0.0-1830acd":"2020-08-24T21:32:04.061Z","0.0.0-82c5427":"2020-08-25T16:38:35.815Z","0.0.0-dbf6c5e":"2020-08-25T18:01:27.914Z","0.0.0-96b7d6a":"2020-08-26T19:25:48.085Z","0.0.0-5f2c8ad":"2020-08-26T20:49:25.401Z","0.0.0-0dde3b9":"2020-08-26T21:17:07.543Z","6.2.0-rc.cd4cd6c":"2020-08-26T21:18:33.373Z","0.0.0-867cf35":"2020-08-26T21:41:26.112Z","6.2.0-rc.e4429d3":"2020-08-26T21:59:22.521Z","6.2.0-rc.f7caca6":"2020-08-26T21:59:52.882Z","6.2.0-rc.aa6ad2f":"2020-08-26T22:12:07.969Z","0.0.0-4f33b73":"2020-08-26T23:06:57.563Z","0.0.0-3b17cf1":"2020-08-27T19:41:10.755Z","0.0.0-d9a1b30":"2020-08-27T19:45:32.245Z","0.0.0-3871c9c":"2020-08-27T19:46:44.394Z","0.0.0-687b9d6":"2020-08-27T19:52:22.473Z","0.0.0-5ee0744":"2020-08-27T19:53:44.250Z","0.0.0-c5ed225":"2020-08-27T19:58:32.310Z","0.0.0-d8f5f71":"2020-08-27T20:00:00.523Z","0.0.0-fcaa0e4":"2020-08-27T20:03:31.982Z","0.0.0-2d0760a":"2020-08-27T20:05:07.302Z","0.0.0-f75654f":"2020-08-27T20:10:06.947Z","0.0.0-bc6f041":"2020-08-27T20:15:23.415Z","0.0.0-fc4e4cd":"2020-08-27T20:20:56.620Z","0.0.0-daf3296":"2020-08-27T20:22:38.660Z","0.0.0-1dbe4f2":"2020-08-27T20:26:27.666Z","0.0.0-fa5fb74":"2020-08-27T20:29:58.051Z","0.0.0-d829a18":"2020-08-27T20:31:08.485Z","0.0.0-0054f03":"2020-08-27T20:34:19.966Z","0.0.0-1d5bd33":"2020-08-27T20:52:32.803Z","0.0.0-1b191ed":"2020-08-27T20:54:47.149Z","0.0.0-1aa0dea":"2020-08-27T20:57:00.916Z","0.0.0-58efa63":"2020-08-27T21:13:00.903Z","0.0.0-a44259e":"2020-08-27T21:14:22.745Z","0.0.0-c0c492e":"2020-08-27T22:39:50.446Z","0.0.0-46f59c2":"2020-08-27T22:41:52.531Z","0.0.0-6eb65ee":"2020-08-27T22:43:40.519Z","0.0.0-437a0cb":"2020-08-27T22:51:02.891Z","0.0.0-c4b269f":"2020-08-31T18:16:07.256Z","0.0.0-949fdb1":"2020-08-31T18:19:41.530Z","0.0.0-0f9be24":"2020-08-31T18:52:33.484Z","0.0.0-84f1674":"2020-08-31T19:07:30.007Z","6.2.0-rc.cbb1005":"2020-08-31T19:24:24.681Z","0.0.0-730d401":"2020-08-31T20:51:59.491Z","6.2.0-rc.a2bfed3":"2020-08-31T21:13:40.775Z","0.0.0-3a56594":"2020-09-01T22:25:25.807Z","0.0.0-2df7daf":"2020-09-01T22:33:53.888Z","6.2.0-rc.3242c09":"2020-09-03T18:33:28.237Z","0.0.0-6a23b26":"2020-09-03T18:37:51.884Z","0.0.0-0fdd690":"2020-09-08T18:09:51.975Z","0.0.0-96f295d":"2020-09-08T18:21:07.172Z","0.0.0-9abb451":"2020-09-08T18:23:27.945Z","6.2.0-rc.6010cce":"2020-09-08T18:25:26.513Z","6.2.0-rc.61dc84f":"2020-09-08T21:51:23.474Z","0.0.0-05063a1":"2020-09-12T17:01:10.228Z","6.2.0":"2020-09-15T21:13:35.017Z","0.0.0-cfdbbab":"2020-09-15T23:09:16.726Z","0.0.0-520014a":"2020-09-16T01:05:53.376Z","0.0.0-2400ac9":"2020-09-16T18:06:05.405Z","0.0.0-1c58ca4":"2020-09-16T21:01:39.717Z","0.0.0-74ca0f8":"2020-09-16T21:24:04.026Z","7.0.0-rc.8d51a2a":"2020-09-17T18:10:38.954Z","0.0.0-dcadea5":"2020-09-17T18:14:42.062Z","0.0.0-eca4808":"2020-09-17T18:19:50.782Z","7.0.0-rc.7885e80":"2020-09-17T18:23:02.253Z","7.0.0-rc.913503d":"2020-09-17T18:23:20.410Z","7.0.0-rc.9b23cec":"2020-09-17T21:27:16.310Z","0.0.0-6dc4690":"2020-09-18T00:13:11.168Z","0.0.0-dab825b":"2020-09-18T00:16:17.982Z","0.0.0-39c1d2e":"2020-09-18T00:20:50.689Z","0.0.0-18d6ea2":"2020-09-18T00:23:53.671Z","0.0.0-a52d8c6":"2020-09-22T17:07:13.573Z","0.0.0-a2796ee":"2020-09-22T22:27:56.747Z","7.0.0-rc.ae7c912":"2020-09-22T22:41:30.001Z","0.0.0-a9700c5":"2020-09-22T23:39:58.445Z","0.0.0-f549178":"2020-09-22T23:44:55.078Z","7.0.0-rc.03ec821":"2020-09-22T23:49:13.593Z","0.0.0-03c6646":"2020-09-23T00:01:54.478Z","0.0.0-7ed8bc9":"2020-09-23T00:03:47.371Z","0.0.0-f46c60a":"2020-09-23T00:05:43.634Z","0.0.0-e2f046c":"2020-09-23T00:10:42.411Z","7.0.0-rc.a906c29":"2020-09-23T00:13:05.590Z","0.0.0-e3e9993":"2020-09-23T17:07:17.217Z","0.0.0-1b73d8c":"2020-09-23T17:34:38.738Z","0.0.0-4719b06":"2020-09-23T17:56:11.630Z","0.0.0-0742a57":"2020-09-23T18:00:25.031Z","0.0.0-1321a61":"2020-09-23T18:20:55.462Z","0.0.0-062112c":"2020-09-23T19:18:55.676Z","0.0.0-f94d1eb":"2020-09-23T19:24:01.981Z","0.0.0-4c5a5cf":"2020-09-23T19:28:45.374Z","0.0.0-591e251":"2020-09-23T19:42:09.616Z","0.0.0-163656d":"2020-09-23T19:44:43.604Z","0.0.0-57bf781":"2020-09-23T19:54:51.286Z","0.0.0-f2d24a0":"2020-09-23T20:04:52.849Z","0.0.0-052fef7":"2020-09-23T20:06:43.725Z","0.0.0-7cbafd4":"2020-09-23T20:16:17.100Z","0.0.0-113c4ff":"2020-09-23T20:53:54.341Z","0.0.0-275bc29":"2020-09-23T20:56:02.435Z","0.0.0-2f70684":"2020-09-23T20:58:33.703Z","0.0.0-7ef9b3d":"2020-09-23T21:04:35.040Z","0.0.0-a731000":"2020-09-23T21:13:08.296Z","0.0.0-3bf48c9":"2020-09-23T21:20:02.234Z","0.0.0-5890c91":"2020-09-23T21:21:07.554Z","0.0.0-3ef0861":"2020-09-24T14:45:53.891Z","0.0.0-8124428":"2020-09-24T14:53:42.762Z","0.0.0-50ed236":"2020-09-24T15:08:04.815Z","0.0.0-014699e":"2020-09-24T15:27:11.632Z","7.0.0-rc.ba64144":"2020-09-24T16:46:45.541Z","7.0.0-rc.a85f782":"2020-09-24T16:48:25.915Z","0.0.0-7bb7e30":"2020-09-24T16:50:48.962Z","0.0.0-022ac05":"2020-09-24T17:02:01.853Z","0.0.0-d87d279":"2020-09-25T21:25:52.832Z","0.0.0-cbf6028":"2020-09-25T21:38:53.705Z","0.0.0-c9bbe2a":"2020-09-25T22:28:55.727Z","6.2.1-rc.979a993":"2020-09-25T22:32:42.351Z","0.0.0-00b2657":"2020-09-25T22:39:29.591Z","0.0.0-40e997c":"2020-09-25T22:43:12.485Z","0.0.0-7162cda":"2020-09-25T22:48:16.703Z","0.0.0-3418f48":"2020-09-25T23:57:51.432Z","6.2.1-rc.88217b9":"2020-09-28T16:56:44.203Z","6.2.1":"2020-09-28T17:00:04.097Z","0.0.0-a260745":"2020-09-28T17:33:31.771Z","0.0.0-4dfc328":"2020-09-28T17:36:03.279Z","0.0.0-d1f037e":"2020-09-29T18:51:47.462Z","0.0.0-3338037":"2020-09-29T19:16:39.455Z","0.0.0-529bd23":"2020-09-29T20:49:06.195Z","0.0.0-3c74ec1":"2020-09-29T20:57:59.808Z","0.0.0-c3686b1":"2020-09-30T17:52:34.715Z","0.0.0-b14b5ae":"2020-09-30T19:35:53.127Z","6.3.0-rc.e1971d0":"2020-09-30T19:38:36.711Z","0.0.0-8e8efaa":"2020-09-30T19:40:40.392Z","0.0.0-ba71a56":"2020-09-30T19:54:16.812Z","0.0.0-ce098d6":"2020-09-30T19:58:28.702Z","6.3.0-rc.dcd0092":"2020-09-30T20:00:36.611Z","0.0.0-46a8f63":"2020-09-30T20:02:30.988Z","0.0.0-817cc9d":"2020-09-30T20:05:25.916Z","6.3.0-rc.5fa999c":"2020-09-30T20:44:26.039Z","6.3.0-rc.f321376":"2020-09-30T20:54:00.467Z","6.3.0-rc.ac16188":"2020-09-30T21:00:06.950Z","0.0.0-6cd2805":"2020-09-30T21:05:29.239Z","6.3.0-rc.2451b1a":"2020-09-30T21:07:33.054Z","0.0.0-05c089f":"2020-09-30T21:54:48.427Z","0.0.0-3502473":"2020-09-30T22:14:14.464Z","0.0.0-2e26e03":"2020-09-30T22:19:05.712Z","0.0.0-f86fedb":"2020-09-30T22:20:48.483Z","6.3.0-rc.acbddf0":"2020-09-30T22:46:39.750Z","6.3.0":"2020-10-05T17:16:06.688Z","7.0.0-rc.4507c00":"2020-10-05T18:39:41.799Z","0.0.0-a564bd2":"2020-10-05T22:25:40.960Z","0.0.0-66eccf3":"2020-10-06T01:28:27.356Z","6.3.1-rc.97c841c":"2020-10-06T18:57:11.113Z","6.3.1-rc.bc9e2bc":"2020-10-06T18:57:30.279Z","6.3.1-rc.6b31caa":"2020-10-06T18:57:44.373Z","6.3.1":"2020-10-06T20:50:47.529Z","0.0.0-0607eac":"2020-10-06T22:44:01.309Z","0.0.0-56aeb24":"2020-10-06T22:57:05.850Z","0.0.0-07b628c":"2020-10-06T22:59:18.930Z","0.0.0-bc4773e":"2020-10-06T23:23:03.658Z","0.0.0-2ffbd1a":"2020-10-06T23:27:07.499Z","0.0.0-c1a4df9":"2020-10-06T23:37:30.393Z","7.0.0-rc.7b7b9cf":"2020-10-06T23:42:15.361Z","7.0.0-rc.24827aa":"2020-10-06T23:44:45.550Z","0.0.0-8356c77":"2020-10-07T00:17:22.079Z","7.0.0-rc.1fb8d49":"2020-10-07T00:20:53.399Z","0.0.0-07fa748":"2020-10-07T20:11:23.193Z","0.0.0-a06bf0e":"2020-10-07T22:06:24.313Z","0.0.0-7b00f0a":"2020-10-09T23:00:15.339Z","7.0.0-rc.fe55657":"2020-10-14T18:41:28.662Z","0.0.0-bf2ac77":"2020-10-14T18:46:40.111Z","0.0.0-d5ec030":"2020-10-14T22:50:15.952Z","0.0.0-16c18fc":"2020-10-14T23:42:53.019Z","6.2.2-rc.9965ebd":"2020-10-14T23:44:53.480Z","0.0.0-09e9040":"2020-10-15T17:09:28.951Z","0.0.0-fd3d172":"2020-10-16T04:27:53.359Z","0.0.0-5bbc842":"2020-10-16T04:31:03.114Z","0.0.0-da15044":"2020-10-16T18:28:25.857Z","0.0.0-b2124f2":"2020-10-16T18:54:14.035Z","0.0.0-5e8947f":"2020-10-16T21:42:43.962Z","6.2.2-rc.c2ef0d8":"2020-10-16T21:43:04.787Z","6.4.0-rc.0ee5b42":"2020-10-16T22:01:02.611Z","7.0.0-rc.4abc274":"2020-10-16T23:44:38.711Z","0.0.0-a9c29ec":"2020-10-19T17:53:40.834Z","6.4.0-rc.dde31d5":"2020-10-19T18:10:19.569Z","6.4.0":"2020-10-19T19:15:32.868Z","0.0.0-9d2da3e":"2020-10-20T00:06:56.980Z","6.4.1-rc.9b074d7":"2020-10-20T02:10:55.295Z","6.4.1-rc.4c9d45e":"2020-10-20T02:11:14.614Z","6.4.1-rc.cb51f51":"2020-10-20T02:25:33.688Z","6.4.1":"2020-10-20T02:41:29.069Z","6.4.2-rc.fff262b":"2020-10-20T17:51:57.302Z","6.4.2-rc.daa9d65":"2020-10-20T23:35:12.612Z","6.4.2-rc.ef285c2":"2020-10-20T23:48:46.413Z","6.4.2":"2020-10-21T00:25:14.123Z","7.0.0-rc.70df586":"2020-10-22T21:20:46.470Z","0.0.0-0691aed":"2020-10-23T19:50:37.455Z","0.0.0-b79c3a7":"2020-10-26T21:09:22.392Z","0.0.0-53e81ab":"2020-10-26T21:47:00.623Z","6.4.3-rc.26b2b20":"2020-10-26T22:02:22.436Z","6.4.3-rc.4879f51":"2020-10-26T22:05:42.204Z","6.4.3-rc.c17cd15":"2020-10-26T22:05:59.252Z","6.4.3-rc.cb3d07f":"2020-10-26T22:09:33.818Z","6.4.3-rc.d64fa8f":"2020-10-26T22:12:06.292Z","6.4.3":"2020-10-26T22:15:33.537Z","7.0.0-rc.a54bd59":"2020-10-26T22:22:14.512Z","7.0.0-rc.f5b7c8e":"2020-10-26T22:25:57.664Z","0.0.0-86c6d57":"2020-10-26T22:32:18.885Z","7.0.0-rc.924978c":"2020-10-26T22:39:11.253Z","7.0.0-rc.ff47931":"2020-10-27T18:01:50.111Z","0.0.0-f861fc3":"2020-10-27T18:53:22.801Z","0.0.0-e874b3e":"2020-10-27T19:10:32.874Z","0.0.0-7af996c":"2020-10-27T19:26:08.709Z","7.0.0-rc.233c20e":"2020-10-27T19:33:20.620Z","0.0.0-ee5bd6a":"2020-10-28T17:33:44.749Z","0.0.0-aff54dc":"2020-10-28T17:38:00.371Z","0.0.0-d37a493":"2020-10-28T20:07:04.352Z","0.0.0-5ef5aae":"2020-10-28T20:13:08.722Z","0.0.0-45310d9":"2020-10-28T20:28:51.031Z","0.0.0-faec687":"2020-10-28T20:35:46.403Z","0.0.0-2b5db0a":"2020-10-28T20:45:07.328Z","7.0.0-rc.d8712a5":"2020-10-28T20:57:55.790Z","0.0.0-2ce0a62":"2020-10-28T21:31:54.377Z","0.0.0-b5d8074":"2020-10-28T21:32:42.864Z","0.0.0-901b91f":"2020-10-28T21:38:48.307Z","0.0.0-5aca6d0":"2020-10-28T21:43:21.653Z","0.0.0-20c8bcc":"2020-10-28T21:51:52.827Z","6.4.4-rc.ce77499":"2020-10-28T22:36:51.369Z","6.4.4":"2020-10-28T23:24:45.309Z","7.0.0-rc.4ea812a":"2020-10-29T17:29:00.202Z","7.0.0-rc.39adc8c":"2020-10-29T17:39:47.433Z","7.0.0-rc.3b6e8c5":"2020-10-29T22:52:03.282Z","0.0.0-5b30235":"2020-10-30T21:31:00.958Z","0.0.0-399be20":"2020-10-30T21:34:32.247Z","0.0.0-1b2ba95":"2020-10-30T21:49:55.821Z","0.0.0-a925bb2":"2020-10-30T22:09:50.637Z","0.0.0-8337109":"2020-10-30T22:32:54.652Z","0.0.0-1c4baa3":"2020-10-30T22:35:06.609Z","0.0.0-e59a698":"2020-10-30T22:39:06.063Z","0.0.0-634dbc9":"2020-10-30T23:05:45.620Z","0.0.0-3fc329a":"2020-11-02T18:54:42.016Z","0.0.0-32c8fe4":"2020-11-02T18:59:27.492Z","0.0.0-4b15af2":"2020-11-02T19:05:29.111Z","7.0.0-rc.4b15af2":"2020-11-02T19:06:00.833Z","0.0.0-f7abcb7":"2020-11-02T19:35:10.882Z","0.0.0-572ae8e":"2020-11-02T19:49:08.157Z","7.0.0-rc.461d4c1":"2020-11-02T20:05:01.036Z","0.0.0-17edb8a":"2020-11-02T22:11:10.584Z","0.0.0-d384fd7":"2020-11-02T22:54:01.661Z","0.0.0-f019aa7":"2020-11-02T23:25:39.430Z","0.0.0-072c90d":"2020-11-03T00:08:04.315Z","0.0.0-99f003e":"2020-11-03T00:14:11.425Z","0.0.0-890f37b":"2020-11-03T07:42:12.658Z","0.0.0-a9f81e9":"2020-11-03T18:06:06.072Z","7.0.0-rc.455756e":"2020-11-03T18:18:48.592Z","7.0.0-rc.5034d04":"2020-11-03T18:35:50.633Z","7.0.0-rc.1ededb1":"2020-11-03T18:45:06.896Z","7.0.0-rc.86a9115":"2020-11-03T18:47:56.968Z","7.0.0-rc.aafc6a5":"2020-11-03T18:49:21.895Z","7.0.0-rc.b78ca97":"2020-11-04T19:46:57.428Z","7.0.0-rc.a8bb768":"2020-11-04T20:06:10.076Z","7.0.0":"2020-11-04T22:57:49.308Z","0.0.0-d205798":"2020-11-05T01:16:24.394Z","0.0.0-956c894":"2020-11-05T01:18:56.283Z","0.0.0-cc1fdf1":"2020-11-05T19:04:32.165Z","0.0.0-59d1e47":"2020-11-05T19:21:38.579Z","0.0.0-f30c709":"2020-11-05T19:39:57.302Z","0.0.0-1a65290":"2020-11-05T20:49:53.204Z","0.0.0-991a70f":"2020-11-12T19:36:27.537Z","0.0.0-acd3019":"2020-11-12T19:38:02.503Z","0.0.0-58c15b4":"2020-11-17T19:27:24.963Z","7.0.1-rc.5f94bd1":"2020-11-17T21:57:02.326Z","7.0.1-rc.dc6182d":"2020-11-17T22:02:35.029Z","0.0.0-cc98fb0":"2020-11-17T22:43:06.584Z","0.0.0-713626d":"2020-11-17T22:53:24.939Z","0.0.0-a7deb8a":"2020-11-18T05:48:03.991Z","7.0.1-rc.f074bea":"2020-11-18T06:14:10.400Z","0.0.0-d192062":"2020-11-18T22:00:57.503Z","7.0.1-rc.c74a2a2":"2020-11-18T22:03:08.490Z","0.0.0-f9c050a":"2020-11-18T23:28:38.551Z","0.0.0-e589ed5":"2020-11-19T19:22:42.195Z","0.0.0-5ed1014":"2020-11-23T21:04:20.080Z","0.0.0-f3c95a5":"2020-11-23T22:51:59.756Z","7.0.1-rc.cd20b95":"2020-11-24T23:58:37.263Z","7.0.1":"2020-11-25T00:05:35.152Z","0.0.0-fd4ac20":"2020-12-04T05:42:19.286Z","7.0.2-rc.cee5427":"2020-12-04T06:23:46.295Z","7.0.2":"2020-12-04T17:38:15.646Z","0.0.0-a84c74e":"2020-12-11T23:40:18.224Z","0.0.0-9b53b71":"2020-12-12T10:56:53.259Z","0.0.0-ae8fe8b":"2020-12-15T19:48:18.680Z","0.0.0-cd647c2":"2020-12-15T23:30:24.710Z","0.0.0-84dfe05":"2020-12-16T18:59:07.739Z","7.0.3-rc.2369aa9":"2020-12-16T19:04:58.328Z","7.0.3-rc.2bf4be4":"2020-12-16T19:06:46.368Z","7.0.3-rc.40c110f":"2020-12-16T19:07:19.817Z","7.0.3-rc.57b0ee7":"2020-12-16T19:08:38.085Z","0.0.0-323617a":"2020-12-16T22:38:08.754Z","0.0.0-b93ac7e":"2020-12-16T22:39:48.418Z","0.0.0-89965e5":"2020-12-16T22:42:42.707Z","7.0.3-rc.031dbe9":"2020-12-16T23:12:19.148Z","7.0.3-rc.78be531":"2020-12-16T23:12:59.269Z","7.1.0-rc.0179c4a":"2020-12-16T23:14:14.645Z","7.1.0-rc.72199af":"2020-12-16T23:17:02.398Z","7.1.0-rc.7a79666":"2020-12-16T23:20:42.200Z","7.1.0-rc.9c12ec1":"2020-12-16T23:30:05.853Z","7.1.0":"2020-12-21T20:57:06.954Z","0.0.0-65157e7":"2020-12-22T08:38:25.347Z","0.0.0-a62169f":"2021-01-08T06:01:32.920Z","0.0.0-4347db4":"2021-01-08T07:32:27.554Z","0.0.0-c4e2fb7":"2021-01-25T23:31:50.246Z","0.0.0-ec36f8c":"2021-01-26T20:30:38.043Z","0.0.0-42118a8":"2021-01-26T20:32:27.471Z","0.0.0-27f3011":"2021-01-26T20:33:38.006Z","0.0.0-52918d8":"2021-01-27T22:54:06.669Z","8.0.0-rc.3fd7ee6":"2021-01-28T18:53:49.488Z","8.0.0-rc.26e20dd":"2021-01-28T18:57:37.546Z","8.0.0-rc.6fdac3c":"2021-01-28T18:58:13.864Z","0.0.0-f701f26":"2021-01-28T19:55:51.137Z","0.0.0-1425f2c":"2021-01-28T20:04:36.569Z","0.0.0-0532f45":"2021-01-28T20:07:51.452Z","8.0.0-rc.222c986":"2021-01-28T20:10:10.596Z","0.0.0-780af4b":"2021-01-28T22:19:31.370Z","8.0.0-rc.36215ba":"2021-01-28T22:24:56.655Z","0.0.0-a9b9c2e":"2021-01-29T18:46:34.534Z","0.0.0-0927fae":"2021-01-29T22:44:38.769Z","0.0.0-e1f7134":"2021-01-29T23:20:12.937Z","0.0.0-9a076e0":"2021-01-29T23:29:02.862Z","0.0.0-4fe1170":"2021-02-01T19:58:27.597Z","7.2.0-rc.dd49249":"2021-02-01T19:58:36.624Z","0.0.0-783791c":"2021-02-01T23:01:18.589Z","0.0.0-f9c44c7":"2021-02-02T20:48:02.819Z","7.2.0-rc.6729e21":"2021-02-02T20:49:53.049Z","7.2.0":"2021-02-02T23:19:05.659Z","0.0.0-8e03780":"2021-02-08T20:59:13.849Z","0.0.0-a39bc86":"2021-02-08T21:01:32.620Z","8.0.0-rc.4b629d7":"2021-02-10T18:08:42.085Z","8.0.0-nav-update-rc.abe4957":"2021-02-11T19:11:53.183Z","8.0.0-rc.d912cca":"2021-02-11T20:15:46.288Z","8.0.0-nav-update-rc.5e9c7eb":"2021-03-10T22:51:34.598Z","8.0.0-nav-update-rc.401bc84":"2021-03-11T00:35:51.967Z","8.0.0-nav-update-rc.6e128c9":"2021-03-12T06:56:49.125Z","8.0.0-nav-update-rc.3e2bd53":"2021-03-24T16:49:52.936Z","8.0.0-nav-update-rc.98283f8":"2021-03-24T17:06:37.175Z","8.0.0-rc.b4ded66":"2021-03-25T16:40:37.072Z","8.0.0-fixes-rc.acc0c57":"2021-03-29T21:21:48.279Z","8.0.0-fixes-rc.084b260":"2021-04-07T23:58:46.579Z","8.0.0-fixes-rc.b7556aa":"2021-04-08T17:21:16.257Z","8.0.0-fixes-rc.de7ffe6":"2021-04-19T21:16:37.690Z","8.0.0-rc.af6649a":"2021-04-19T22:00:37.372Z","8.0.0":"2021-04-21T17:39:31.793Z","0.0.0-59a9f6a":"2021-04-26T21:36:29.422Z","0.0.0-506724e":"2021-04-27T17:13:59.735Z","0.0.0-0c3567d":"2021-04-28T20:50:48.482Z","0.0.0-8a145a5":"2021-04-28T21:15:42.592Z","0.0.0-0771ade":"2021-04-28T22:48:40.749Z","0.0.0-8270832":"2021-05-05T18:29:39.588Z","0.0.0-27924a7":"2021-05-05T18:31:59.442Z","0.0.0-0414f5f":"2021-05-05T18:36:26.566Z","0.0.0-c563ac4":"2021-06-02T21:23:59.623Z","0.0.0-29cda67":"2021-06-02T21:44:43.716Z","0.0.0-f28d918":"2021-06-02T23:33:18.556Z","8.1.0-rc.f976eeb":"2021-06-03T16:42:38.941Z","8.1.0-rc.72eaffe":"2021-06-03T19:51:46.920Z","8.1.0":"2021-06-03T20:01:32.337Z","0.0.0-bc05720":"2021-06-07T22:37:08.284Z","8.2.0-rc.7e271ba":"2021-06-08T21:11:19.040Z","0.0.0-6f9f4e2":"2021-06-08T22:09:11.876Z","0.0.0-1439caf":"2021-06-15T00:12:30.678Z","0.0.0-9c39b83":"2021-07-09T04:00:07.507Z","0.0.0-1025b45":"2021-07-09T04:34:08.232Z","0.0.0-00dc8b7":"2021-07-09T04:46:42.735Z","0.0.0-dd29956":"2021-07-09T17:20:49.197Z","9.0.0":"2021-07-09T20:34:56.310Z","0.0.0-8743689":"2021-07-09T20:56:25.148Z","9.1.0-rc.7fec871":"2021-07-09T20:56:39.425Z","0.0.0-1237d28":"2021-07-09T21:33:46.951Z","0.0.0-4aec697":"2021-07-09T22:01:10.056Z","0.0.0-edd7e0a":"2021-07-10T00:02:45.870Z","9.1.0-rc.0a23443":"2021-07-10T00:05:32.205Z","9.1.0-rc.c8eb513":"2021-07-12T22:11:49.333Z","0.0.0-70a6a1b":"2021-07-12T23:26:24.845Z","9.1.0":"2021-07-14T22:01:17.180Z","0.0.0-e3166a3":"2021-07-19T18:09:28.242Z","0.0.0-646947f":"2021-07-21T21:30:17.464Z","0.0.0-745fb77":"2021-07-29T23:26:42.907Z","0.0.0-97cb77b":"2021-08-05T17:36:32.402Z","0.0.0-085252b":"2021-08-05T17:45:41.365Z","0.0.0-2fbdc03":"2021-08-05T18:05:22.539Z","0.0.0-0d71ceb":"2021-08-05T18:33:53.442Z","0.0.0-ff000a1":"2021-08-05T20:55:19.379Z","0.0.0-1d56bed":"2021-08-06T16:29:21.241Z","9.2.0-rc.8d693f0":"2021-08-16T18:01:01.820Z","9.2.0-rc.7de6497":"2021-08-16T18:01:21.100Z","0.0.0-5313baa":"2021-08-16T18:16:12.088Z","9.2.0":"2021-08-23T22:19:14.890Z","0.0.0-72a4106":"2021-08-23T22:21:05.634Z","0.0.0-3787ce4":"2021-08-26T18:48:35.864Z","0.0.0-1564cbf":"2021-08-27T22:27:04.827Z","9.2.1-rc.cf6d32e":"2021-08-27T22:30:57.671Z","9.2.1-rc.f78313c":"2021-08-30T16:22:56.746Z","9.2.1":"2021-08-30T22:38:02.898Z","0.0.0-3a9c134":"2021-09-07T21:31:23.393Z","0.0.0-0fb7215":"2021-09-16T04:39:54.562Z","0.0.0-847b359":"2021-09-16T18:36:26.316Z","0.0.0-f3878f6":"2021-09-16T18:43:30.942Z","0.0.0-6257237":"2021-09-16T18:44:32.338Z","0.0.0-6b47538":"2021-09-16T21:04:21.959Z","0.0.0-3d805eb":"2021-09-16T21:47:18.992Z","0.0.0-9e80943":"2021-09-17T04:56:49.334Z","0.0.0-3641a4a":"2021-09-17T16:23:19.132Z","0.0.0-1eccba6":"2021-09-17T17:13:10.942Z","9.2.2-rc.dee7d22":"2021-09-17T21:34:28.590Z","0.0.0-bed549e":"2021-09-17T21:34:41.946Z","0.0.0-01cf6ff":"2021-09-17T21:38:43.186Z","9.2.2-rc.5836619":"2021-10-05T22:34:24.167Z","9.2.2-rc.a84dd0b":"2021-10-05T22:38:23.868Z","0.0.0-4bdb312":"2021-11-05T23:46:42.096Z","0.0.0-805eca7":"2021-11-10T22:15:18.274Z","9.2.2-rc.0d8df03":"2021-11-22T18:18:58.660Z","9.2.2":"2021-11-22T18:25:40.228Z","0.0.0-862d25e":"2022-01-18T23:52:06.553Z","9.2.3":"2022-01-19T20:00:08.371Z","0.0.0-b65d3ed":"2022-02-15T01:11:16.931Z","0.0.0-ff649a9":"2022-02-15T23:52:07.951Z","0.0.0-1b3e8e6":"2022-02-15T23:59:22.850Z","0.0.0-b5752fa":"2022-02-18T22:47:33.331Z","9.2.4-rc.1133714":"2022-02-18T23:48:01.980Z","9.2.4":"2022-03-02T22:20:36.638Z","9.2.4-rc.394a636":"2022-03-09T17:51:41.258Z","0.0.0-33fc592":"2022-03-09T18:19:59.672Z","0.0.0-95c6bb7":"2022-03-09T18:34:48.422Z","0.0.0-02b4559":"2022-03-09T18:44:57.181Z","0.0.0-8b81f79":"2022-03-09T19:11:37.226Z","0.0.0-394a636":"2022-03-09T19:33:06.057Z","0.0.0-e957e08":"2022-03-09T22:55:36.010Z","0.0.0-4e1b8f2":"2022-03-09T22:56:26.009Z","9.2.5-rc.9e136fd":"2022-03-10T19:27:58.788Z","9.2.5":"2022-03-10T19:31:27.440Z","0.0.0-f254b1f":"2022-03-28T22:01:20.149Z","9.2.6-rc.a2d1f37":"2022-03-28T22:36:58.981Z","9.2.6":"2022-03-29T21:41:29.224Z","0.0.0-163b5bb":"2022-04-21T23:02:26.691Z","0.0.0-eec2fc6":"2022-04-28T17:24:30.771Z","0.0.0-2b936b8":"2022-04-29T17:38:25.827Z","9.2.7-rc.542b4f2":"2022-04-29T20:52:42.367Z","0.0.0-2380f09":"2022-04-29T20:53:00.608Z","9.2.7-rc.c127169":"2022-04-29T21:08:16.324Z","0.0.0-d002bd2":"2022-05-04T20:25:44.687Z","0.0.0-8d0e075":"2022-05-04T20:28:27.337Z","0.0.0-1b6c148":"2022-05-18T18:57:45.203Z","0.0.0-61265ce":"2022-05-31T18:59:16.763Z","0.0.0-96b1511":"2022-06-07T19:17:40.938Z","0.0.0-92f5c8a":"2022-06-07T19:28:12.340Z","0.0.0-84d5ca2":"2022-06-07T19:40:22.069Z","0.0.0-ff27c58":"2022-06-07T19:48:01.897Z","0.0.0-5d1c00e":"2022-06-07T19:59:07.149Z","0.0.0-ce7b318":"2022-06-07T20:13:14.397Z","0.0.0-3c8e059":"2022-06-07T20:16:44.479Z","9.2.7-rc.5a598d2":"2022-06-07T20:57:47.002Z","9.2.7-rc.9cadba3":"2022-06-07T20:59:39.694Z","9.2.7-rc.6c3d478":"2022-06-07T21:01:44.177Z","9.2.7-rc.bb4077e":"2022-06-07T23:28:34.799Z","9.2.7-rc.4a3d114":"2022-06-27T23:39:47.504Z","0.0.0-654d121":"2022-06-27T23:59:02.877Z","0.0.0-0e60ef8":"2022-06-27T23:59:55.578Z","0.0.0-ffcb829":"2022-06-28T00:07:33.898Z","0.0.0-428734a":"2022-06-28T03:37:35.140Z","0.0.0-aa81b70":"2022-06-28T03:49:20.372Z","0.0.0-8c86e8e":"2022-06-28T03:51:23.278Z","0.0.0-75e5c27":"2022-06-28T04:03:52.545Z","9.2.7-rc.649ba2d":"2022-06-28T04:17:42.811Z","0.0.0-dab5197":"2022-06-28T04:20:01.002Z","9.2.7-rc.2405168":"2022-06-28T04:23:26.804Z","0.0.0-f5ba586":"2022-06-28T04:37:52.561Z","0.0.0-625abf8":"2022-06-28T04:43:11.713Z","0.0.0-df8c266":"2022-06-28T05:05:25.753Z","0.0.0-878fb3e":"2022-06-28T16:51:05.630Z","0.0.0-854d590":"2022-06-28T16:54:41.607Z","0.0.0-8bee96f":"2022-06-28T17:16:45.450Z","0.0.0-fa7a8cf":"2022-06-28T17:35:12.075Z","9.2.7-rc.70615be":"2022-06-28T17:42:52.488Z","9.2.7":"2022-06-28T17:47:20.262Z","0.0.0-4df1436":"2022-06-29T17:42:47.749Z","0.0.0-d71635c":"2022-07-06T17:55:53.300Z","0.0.0-a98a6a1":"2022-07-07T16:51:53.029Z","0.0.0-1c49ee8":"2022-08-04T16:50:13.189Z","0.0.0-a0a5a10":"2022-11-10T07:26:35.431Z","0.0.0-96fb2ec":"2022-12-01T19:59:21.214Z","0.0.0-e193c26":"2023-01-03T18:40:35.190Z","0.0.0-815935a":"2023-01-04T00:57:14.200Z","10.0.0-rc.5727a94":"2023-01-04T17:52:13.075Z","10.0.0":"2023-01-04T17:59:24.927Z","0.0.0-a7431ca":"2023-01-17T22:05:17.356Z","0.0.0-4066367":"2023-01-17T22:28:39.947Z","0.0.0-77f3ac3":"2023-03-17T18:48:20.378Z","10.0.1--canary.72b4f2c.0":"2023-08-24T02:15:09.765Z","10.0.1--canary.261.6bc48eb.0":"2023-08-24T02:59:54.616Z","10.0.1--canary.261.26f507c.0":"2023-08-24T03:05:25.346Z","10.0.1--canary.261.2d56443.0":"2023-08-24T16:39:43.356Z","10.0.1--canary.261.423b85c.0":"2023-08-24T16:43:39.324Z","10.0.1--canary.261.ce164c7.0":"2023-08-24T17:54:13.501Z","10.0.1--canary.261.a614531.0":"2023-08-24T18:03:13.840Z","10.0.1--canary.261.243c5f6.0":"2023-08-24T18:11:56.868Z","10.0.1--canary.261.d42f47e.0":"2023-08-24T18:16:39.258Z","10.0.1--canary.260.1c94a49.0":"2023-08-24T18:23:52.646Z","10.0.1--canary.f00b343.0":"2023-08-24T18:54:24.155Z","10.0.1--canary.262.6692aed.0":"2023-08-24T19:00:10.791Z","10.0.1--canary.262.5cdaf4a.0":"2023-08-24T22:52:25.459Z","10.0.1--canary.262.37587c6.0":"2023-08-25T15:46:18.408Z","10.0.1--canary.263.1fc3790.0":"2023-08-28T17:00:09.390Z","10.0.1--canary.263.abfad23.0":"2023-08-28T17:40:29.276Z","10.0.1--canary.05a1b45.0":"2023-08-30T16:56:43.661Z","10.0.1--canary.264.c7bf6d1.0":"2023-08-30T17:35:44.722Z","10.0.1--canary.260.09ca524.0":"2023-08-31T16:42:29.240Z","10.0.1--canary.260.c91f256.0":"2023-09-01T00:01:18.798Z","10.0.1":"2023-09-01T00:12:42.375Z","0.0.0-931671":"2023-11-17T00:21:28.757Z"},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"description":"The Form.io theme for sf.gov","homepage":"https://github.com/SFDigitalServices/formio-sfds#readme","keywords":["formio","sf-design-system"],"repository":{"type":"git","url":"git+https://github.com/SFDigitalServices/formio-sfds.git"},"author":{"name":"San Francisco Digital Services"},"bugs":{"url":"https://github.com/SFDigitalServices/formio-sfds/issues"},"license":"MIT","readme":"","readmeFilename":""}